diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 029649eb0..dfc72baf6 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2013-08-23 Christopher Faylor + + * spawn.cc (child_info_spawn): Revert previous change. Always set + lpReserved2. + 2013-08-23 Christopher Faylor * child_info.h (PROC_MAGIC_GENERIC): Define differently for x86 vs. diff --git a/winsup/cygwin/release/1.7.25 b/winsup/cygwin/release/1.7.25 index a93ab5d10..9015fa3d4 100644 --- a/winsup/cygwin/release/1.7.25 +++ b/winsup/cygwin/release/1.7.25 @@ -5,10 +5,8 @@ What's new: What changed: ------------- -- Disable code which disallowed to start 32 bit Cygwin processes from 64 bit - Cygwin processes and vice versa. 32 bit processes are not recognized as - Cygwin processes by a 64 bit parent process and vice versa, so there is - no IPC other than what you have with non-Cygwin processes. +- Change magic number associated with process information block so that 32-bit + Cygwin processes don't try to interpret 64-bit information and vice-versa. - Redefine content of mtget tape info struct to allow fetching the number of partitions on a tape. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index bd0ec177f..74c5fa40c 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -554,17 +554,8 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, __stdout = in__stdout; record_children (); - /* Don't propagate the child_info_spawn structure to the process if it - hasn't been recognized as a Cygwin executable. This also covers Cygwin - executables of a different target (32 vs. 64 bit). Native processes - usually still work, even if lpReserved2 contains garbage from their - point of view, but Cygwin processes of different bitsize will recognize - it as Cygwin info and get all excited about the differences. */ - if (real_path.iscygexec ()) - { - si.lpReserved2 = (LPBYTE) this; - si.cbReserved2 = sizeof (*this); - } + si.lpReserved2 = (LPBYTE) this; + si.cbReserved2 = sizeof (*this); /* Depends on set call above. Some file types might need extra effort in the parent after CreateProcess diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index dabc369ec..6ff706446 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,7 @@ +2013-08-23 Christopher Faylor + + * new-features.xml (ov-new1.7.25): Change wording. + 2013-08-23 Corinna Vinschen * new-features.xml (ov-new1.7.25): Add new section. diff --git a/winsup/doc/new-features.xml b/winsup/doc/new-features.xml index f223fa6c8..5e0fa53fb 100644 --- a/winsup/doc/new-features.xml +++ b/winsup/doc/new-features.xml @@ -9,10 +9,8 @@ -Disable code which disallowed to start 32 bit Cygwin processes from 64 bit -Cygwin processes and vice versa. 32 bit processes are not recognized as -Cygwin processes by a 64 bit parent process and vice versa, so there is no -IPC other than what you get with non-Cygwin processes. +Change magic number associated with process information block so that 32-bit +Cygwin processes don't try to interpret 64-bit information and vice-versa.