* uname.cc (uname): Concatenate a "-WOW64" to utsname's sysname

member to see when running under WOW64.
This commit is contained in:
Corinna Vinschen 2006-01-13 14:00:10 +00:00
parent 67066cabad
commit 71f98c4caa
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2006-01-13 Corinna Vinschen <corinna@vinschen.de>
* uname.cc (uname): Concatenate a "-WOW64" to utsname's sysname
member to see when running under WOW64.
2006-01-13 Corinna Vinschen <corinna@vinschen.de> 2006-01-13 Corinna Vinschen <corinna@vinschen.de>
* net.cc (cygwin_setsockopt): Ignore errors when setting IP_TOS on * net.cc (cygwin_setsockopt): Ignore errors when setting IP_TOS on

View File

@ -36,10 +36,15 @@ uname (struct utsname *name)
build systems which think the native system is a 64 bit system. Since build systems which think the native system is a 64 bit system. Since
we're actually running in a 32 bit environment, it looks more correct we're actually running in a 32 bit environment, it looks more correct
just to use the CPU info given by WOW64. */ just to use the CPU info given by WOW64. */
BOOL is_64bit_machine = FALSE; if (wincap.is_wow64 ())
if (IsWow64Process (hMainProc, &is_64bit_machine) && is_64bit_machine)
GetNativeSystemInfo (&sysinfo); GetNativeSystemInfo (&sysinfo);
else else
#else
/* But it seems ok to add a hint to the sysname, that we're running under
WOW64. This might give an early clue if somebody encounters problems. */
if (wincap.is_wow64 ())
strncat (name->sysname, "-WOW64",
sizeof name->sysname - strlen (name->sysname) - 1);
#endif #endif
GetSystemInfo (&sysinfo); GetSystemInfo (&sysinfo);