https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=832cb703a748706068111db1cfe14e03f8cc7078

commit 832cb703a748706068111db1cfe14e03f8cc7078
Author:     Corinna Vinschen <[email protected]>
AuthorDate: Sun Jan 25 20:03:10 2026 +0100
Commit:     Corinna Vinschen <[email protected]>
CommitDate: Mon Feb 2 18:13:54 2026 +0100

    Cygwin: spawn: drop CREATE_SEPARATE_WOW_VDM process flag
    
    This is outdated and should have been removed when we dropped
    32 bit support.
    
    Signed-off-by: Corinna Vinschen <[email protected]>
    (cherry picked from commit cdc622a97631b787aab045c975aea4c7eafa4fed)

Diff:
---
 winsup/cygwin/spawn.cc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 7d993d0810eb..04e4a4028b8a 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -401,7 +401,11 @@ child_info_spawn::worker (const char *prog_arg, const char 
*const *argv,
       c_flags = GetPriorityClass (GetCurrentProcess ());
       sigproc_printf ("priority class %d", c_flags);
 
-      c_flags |= CREATE_SEPARATE_WOW_VDM | CREATE_UNICODE_ENVIRONMENT;
+      /* Per MSDN, this must be specified even if lpEnvironment is set to NULL,
+        otherwise UNICODE characters in the parent environment are not copied
+        correctly to the child.  Omitting it may scramble %PATH% on non-English
+        systems. */
+      c_flags |= CREATE_UNICODE_ENVIRONMENT;
 
       /* Add CREATE_DEFAULT_ERROR_MODE flag for non-Cygwin processes so they
         get the default error mode instead of inheriting the mode Cygwin

Reply via email to