]> sourceware.org Git - newlib-cygwin.git/commitdiff
Cygwin: wincap: drop wow64 flag and all conditions depending on it
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 7 Mar 2022 09:31:15 +0000 (10:31 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Fri, 13 May 2022 12:15:47 +0000 (14:15 +0200)
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/fhandler_process.cc
winsup/cygwin/path.cc
winsup/cygwin/syscalls.cc
winsup/cygwin/uname.cc
winsup/cygwin/wincap.cc
winsup/cygwin/wincap.h

index 718945b9a3ffb498ec6c91d719a5320ff04eed7b..e2dd1286f8954c08dd7527ae827d1266bed305ba 100644 (file)
@@ -784,11 +784,7 @@ struct thread_info
   char *fill_if_match (char *base, ULONG type, char *dest)
   {
     for (region *r = regions; r; r = r->next)
-      if ((base >= r->start && base < r->end)
-         /* Special case WOW64.  The TEB is 8K within the region reserved
-            for it.  No idea what the lower 8K are used for. */
-         || (r->teb && wincap.is_wow64 ()
-             && r->start == base + 2 * wincap.page_size ()))
+      if (base >= r->start && base < r->end)
        {
          char *p = dest + __small_sprintf (dest, "[%s (tid %ld)",
                                            r->teb ? "teb" : "stack",
index e370843eebe32884928c8977c5580c49ede5e96f..b00f4c4f8fd3e579acfe1a87d500fb304d761e45 100644 (file)
@@ -3461,28 +3461,6 @@ restart:
         differ, return the final path as symlink content and set symlen
         to a negative value.  This forces path_conv::check to restart
         symlink evaluation with the new path. */
-#ifdef __i386__
-      /* On WOW64, ignore any potential problems if the path is inside
-        the Windows dir to avoid false positives for stuff under File
-        System Redirector control.  Believe it or not, but even
-        GetFinalPathNameByHandleA returns the converted path for the
-        Sysnative dir.  I. e.
-
-            C:\Windows\Sysnative --> C:\Windows\System32
-
-        This is obviously wrong when using this path for further
-        file manipulation because the non-final path points to another
-        file than the final path.  Oh well... */
-      if (!fs.is_remote_drive () && wincap.is_wow64 ())
-       {
-         /* windows_directory_path is stored without trailing backslash,
-            so we have to check this explicitely. */
-         if (RtlEqualUnicodePathPrefix (&upath, &windows_directory_path, TRUE)
-             && upath.Buffer[windows_directory_path.Length / sizeof (WCHAR)]
-                == L'\\')
-           goto file_not_symlink;
-       }
-#endif /* __i386__ */
       if ((pc_flags & (PC_SYM_FOLLOW | PC_SYM_NOFOLLOW_REP)) == PC_SYM_FOLLOW)
        {
          PWCHAR fpbuf = tp.w_get ();
index bb9df76cf2d5419c8fbdca16559a4bb327b11ce6..b68d1f215184eb9022119ebeb9c325a09ea28725 100644 (file)
@@ -4417,8 +4417,7 @@ gethostid (void)
   int32_t hostid = 0x40291372; /* Choose a nice start value */
   WCHAR wguid[38];
 
-  reg_key key (HKEY_LOCAL_MACHINE,
-              KEY_READ | (wincap.is_wow64() ? KEY_WOW64_64KEY : 0),
+  reg_key key (HKEY_LOCAL_MACHINE, KEY_READ,
               L"SOFTWARE", L"Microsoft", L"Cryptography", NULL);
   key.get_string (L"MachineGuid", wguid, 38,
                  L"00000000-0000-0000-0000-000000000000");
index 350216681fa13712188045740b9732c71d7a8b21..41138150c0d889e322a9d36b4626195016d6f874 100644 (file)
@@ -36,9 +36,8 @@ uname_x (struct utsname *name)
 
       memset (name, 0, sizeof (*name));
       /* sysname */
-      __small_sprintf (name->sysname, "CYGWIN_%s-%u%s",
-                      wincap.osname (), wincap.build_number (),
-                      wincap.is_wow64 () ? "-WOW64" : "");
+      __small_sprintf (name->sysname, "CYGWIN_%s-%u",
+                      wincap.osname (), wincap.build_number ());
       /* nodename */
       memset (buf, 0, sizeof buf);
       cygwin_gethostname (buf, sizeof buf - 1);
@@ -100,12 +99,6 @@ uname (struct utsname *in_name)
       memset (name, 0, sizeof (*name));
       __small_sprintf (name->sysname, "CYGWIN_%s", wincap.osname ());
 
-      /* 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, "-WOW",
-                sizeof name->sysname - strlen (name->sysname) - 1);
-
       /* Computer name */
       cygwin_gethostname (name->nodename, sizeof (name->nodename) - 1);
 
index ffc32140b04c4f688f13de260f41150da2e62f12..c153627abed2cf669311431c311ad0505becdf9c 100644 (file)
@@ -461,14 +461,8 @@ wincapc::init ()
 
   ((wincaps *)caps)->is_server = (version.wProductType != VER_NT_WORKSTATION);
 #ifdef __x86_64__
-  wow64 = 0;
   /* 64 bit systems have one more guard page than their 32 bit counterpart. */
   ++((wincaps *)caps)->def_guard_pages;
-#else
-  if (NT_SUCCESS (NtQueryInformationProcess (NtCurrentProcess (),
-                                            ProcessWow64Information,
-                                            &wow64, sizeof wow64, NULL))
-      && !wow64)
 #endif
     {
       ((wincaps *)caps)->has_gaa_largeaddress_bug = false;
index 1602ed6e176ecb2f8825c3287165d712305829aa..26cf4be8b4a8b6103f7eb5dbb54cd3e119555e38 100644 (file)
@@ -49,7 +49,6 @@ class wincapc
   SYSTEM_INFO          system_info;
   RTL_OSVERSIONINFOEXW version;
   char                 osnam[40];
-  ULONG_PTR            wow64;
   void                 *caps;
 
 public:
@@ -69,7 +68,6 @@ public:
                     { return (size_t) system_info.dwAllocationGranularity; }
   const char *osname () const { return osnam; }
   const DWORD build_number () const { return version.dwBuildNumber; }
-  const bool is_wow64 () const { return !!wow64; }
 
 #define IMPLEMENT(cap) cap() const { return ((wincaps *) this->caps)->cap; }
 
This page took 0.039136 seconds and 5 git commands to generate.