]> sourceware.org Git - newlib-cygwin.git/commitdiff
* globals.cc (ro_u_dll): New R/O unicode string.
authorCorinna Vinschen <corinna@vinschen.de>
Sat, 21 Nov 2009 12:44:13 +0000 (12:44 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Sat, 21 Nov 2009 12:44:13 +0000 (12:44 +0000)
* syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
blessed_executable_suffixes array.  Explain why.

winsup/cygwin/ChangeLog
winsup/cygwin/globals.cc
winsup/cygwin/syscalls.cc

index b1dad3552250781195a866648cbc1c8326531ba9..529daa2964d0aac0a4d6e4d0a222693d6c025f12 100644 (file)
@@ -1,3 +1,9 @@
+2009-11-21  Corinna Vinschen  <corinna@vinschen.de>
+
+       * globals.cc (ro_u_dll): New R/O unicode string.
+       * syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
+       blessed_executable_suffixes array.  Explain why.
+
 2009-11-18  Corinna Vinschen  <corinna@vinschen.de>
 
        * flock.cc (fhandler_disk_file::lock): Disable a shortcut from the
index e742b964c04ab19be896816c21f963a078576b98..9c85e381aaafb42145324b09004ea03c1e9c218f 100644 (file)
@@ -90,6 +90,7 @@ char *old_title;
 UNICODE_STRING _RDATA ro_u_empty = _ROU (L"");
 UNICODE_STRING _RDATA ro_u_lnk = _ROU (L".lnk");
 UNICODE_STRING _RDATA ro_u_exe = _ROU (L".exe");
+UNICODE_STRING _RDATA ro_u_dll = _ROU (L".dll");
 UNICODE_STRING _RDATA ro_u_com = _ROU (L".com");
 UNICODE_STRING _RDATA ro_u_scr = _ROU (L".scr");
 UNICODE_STRING _RDATA ro_u_sys = _ROU (L".sys");
index 7a4f239b8fffa668a2ac1a23365deaa64f6238ff..17b33c5ce433473cbc4579c395906f36b5254f65 100644 (file)
@@ -1651,6 +1651,12 @@ nt_path_has_executable_suffix (PUNICODE_STRING upath)
   const PUNICODE_STRING blessed_executable_suffixes[] =
   {
     &ro_u_com,
+    &ro_u_dll, /* Messy, messy.  Per MSDN, the GetBinaryType function is
+                  supposed to return with ERROR_BAD_EXE_FORMAT. if the file
+                  is a DLL.  On 64-bit Windows, this works as expected for
+                  32-bit and 64-bit DLLs.  On 32-bit Windows this only works
+                  for 32-bit DLLs.  For 64-bit DLLs, 32-bit Windows returns
+                  true with the type set to SCS_64BIT_BINARY. */
     &ro_u_exe,
     &ro_u_scr,
     &ro_u_sys,
This page took 0.03979 seconds and 5 git commands to generate.