* autoload.cc (GetNativeSystemInfo): Add.

(IsWow64Process): Add.
	* init.cc (respawn_wow64_process): New function.
	(dll_entry): If process has been started from a 64 bit
	process, call respawn_wow64_process.
	* uname.cc (uname): On 64 bit systems, use GetNativeSystemInfo.
	Show actual CPU type.
This commit is contained in:
Corinna Vinschen
2004-07-24 09:41:34 +00:00
parent 61e6420f32
commit 65c5aa77fb
5 changed files with 54 additions and 2 deletions

View File

@@ -29,7 +29,11 @@ uname (struct utsname *name)
memset (name, 0, sizeof (*name));
__small_sprintf (name->sysname, "CYGWIN_%s", wincap.osname ());
GetSystemInfo (&sysinfo);
BOOL is_64bit_machine = FALSE;
if (IsWow64Process (hMainProc, &is_64bit_machine) && is_64bit_machine)
GetNativeSystemInfo (&sysinfo);
else
GetSystemInfo (&sysinfo);
/* Computer name */
cygwin_gethostname (name->nodename, sizeof (name->nodename) - 1);
@@ -74,6 +78,14 @@ uname (struct utsname *name)
}
__small_sprintf (name->machine, "i%d86", ptype);
break;
case PROCESSOR_ARCHITECTURE_IA64:
strcpy (name->machine, "ia64");
break;
case PROCESSOR_ARCHITECTURE_AMD64:
strcpy (name->machine, "amd64");
break;
case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
strcpy (name->machine, "ia32-win64");
case PROCESSOR_ARCHITECTURE_ALPHA:
strcpy (name->machine, "alpha");
break;