mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-17 20:09:21 +08:00
12743c2d5d
* dcrt0.cc (dll_crt0_0): On 64 bit, set wow64_needs_stack_adjustment if not started from a 64 bit process. (_dll_crt0): Enable wow64_needs_stack_adjustment branch on 64 bit as well. Remove 64 bit only code. Introduce CREATE_STACK and FIX_STACK macros to conditionalize the code. Rearrange and partially rewrite comments. * wincap.h (wincaps::has_3264_stack_broken): New element. * wincap.cc: Implement above element throughout. (wincapc::init): Set has_3264_stack_broken to false on 32 bit. * wow64.cc: Enable functionality on 64 bit architecture, except for wow64_revert_to_original_stack. Enhance comments to explain. (wow64_eval_expected_main_stack): Make 64 bit clean. (wow64_test_for_64bit_parent): Ditto. * wow64.h: Export wow64_revert_to_original_stack on 32 bit only, everything else on all architectures. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
20 lines
505 B
C
20 lines
505 B
C
/* wow64.h
|
|
|
|
Copyright 2011, 2012, 2015 Red Hat, Inc.
|
|
|
|
This file is part of Cygwin.
|
|
|
|
This software is a copyrighted work licensed under the terms of the
|
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
|
details. */
|
|
|
|
extern bool NO_COPY wow64_needs_stack_adjustment;
|
|
extern bool wow64_test_for_64bit_parent ();
|
|
extern void wow64_respawn_process () __attribute__ ((noreturn));
|
|
|
|
#ifndef __x86_64__
|
|
|
|
extern PVOID wow64_revert_to_original_stack (PVOID &allocationbase);
|
|
|
|
#endif /* !__x86_64__ */
|