aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/wow64.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-12-16 11:58:03 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-12-16 11:58:03 +0000
commit344e68b166462eada01704cc27251a34a5e32398 (patch)
tree779f68fb88897ec4a00d2cb2d13e982507d5d948 /winsup/cygwin/wow64.h
parent6625879aa6d76736eff81f2fb862a99330ae5c28 (diff)
downloadnewlib-344e68b166462eada01704cc27251a34a5e32398.zip
newlib-344e68b166462eada01704cc27251a34a5e32398.tar.gz
newlib-344e68b166462eada01704cc27251a34a5e32398.tar.bz2
* Makefile.in (DLL_OFILES): Add wow64.o.
* dcrt0.cc (CYGWIN_GUARD): Drop execute permission for stack, it's not used for stacks by the OS either. (child_info_fork::alloc_stack_hard_way): Ditto. (child_info_fork::alloc_stack): Don't alloc_stack_hard_way under WOW64 if forked from a 64 bit parent. Set child's StackBase to parent's StackBase. Add comments to explain why. (wow64_respawn): Move to wow64.cc. (wow64_started_from_native64): Move to wow64.cc. (respawn_wow64_process): Move to wow64.cc. (dll_crt0_0): Drop wow64_test_stack_marker and move stack test into wow64_test_for_64bit_parent function. Don't return early if WOW64 process has been started from native 64 bit process. (_dll_crt0): Implement moving stack for WOW64 processes started from native 64 bit process. * wow64.cc: New file. (wow64_has_64bit_parent): Rename from wow64_respawn. (wow64_test_for_64bit_parent): Rename from wow64_started_from_native64. Change comment. (wow64_revert_to_original_stack): New function. (wow64_respawn_process): Rename from respawn_wow64_process for symmetry. * wow64.h: New file.
Diffstat (limited to 'winsup/cygwin/wow64.h')
-rw-r--r--winsup/cygwin/wow64.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/winsup/cygwin/wow64.h b/winsup/cygwin/wow64.h
new file mode 100644
index 0000000..bd0564f
--- /dev/null
+++ b/winsup/cygwin/wow64.h
@@ -0,0 +1,15 @@
+/* wow64.h
+
+ Copyright 2011 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_has_64bit_parent;
+
+extern bool wow64_test_for_64bit_parent ();
+extern PVOID wow64_revert_to_original_stack (PVOID &allocationbase);
+extern void wow64_respawn_process ();