https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=cdc622a97631b787aab045c975aea4c7eafa4fed
commit cdc622a97631b787aab045c975aea4c7eafa4fed Author: Corinna Vinschen <[email protected]> AuthorDate: Sun Jan 25 20:03:10 2026 +0100 Commit: Corinna Vinschen <[email protected]> CommitDate: Mon Jan 26 10:26:03 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]> 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
