* windows-nat.c (cygwin_conv_path): Redefine to properly convert from/to
authorChristopher Faylor <me+cygwin@cgf.cx>
Tue, 9 Mar 2010 19:10:39 +0000 (19:10 +0000)
committerChristopher Faylor <me+cygwin@cgf.cx>
Tue, 9 Mar 2010 19:10:39 +0000 (19:10 +0000)
posix/win32.
(windows_make_so): Use non-Cygwin 1.7 specific function.
(windows_create_inferior): Make sure that cygallargs points to original args in
non Cygwin 1.7.  case.

gdb/ChangeLog
gdb/windows-nat.c

index e917cd41115d2ff5c4181fc00c219fb3312042f0..d41f036cf02e4a5c46b7d2f6b2d210ba77f0a566 100644 (file)
@@ -1,3 +1,12 @@
+2010-03-09  Christopher Faylor  <me+cygwin@cgf.cx>
+           Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       * windows-nat.c (cygwin_conv_path): Redefine to properly convert
+       from/to posix/win32.
+       (windows_make_so): Use non-Cygwin 1.7 specific function.
+       (windows_create_inferior): Make sure that cygallargs points to
+       original args in non Cygwin 1.7. case.
+
 2010-03-09  Michael Snyder  <msnyder@vmware.com>
 
        * i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int
index 87f9c4354d04261fbc8f2effaedf8b6c054cf333..01d5f036d92481d41cd108bde7ef4f926c049c3f 100644 (file)
@@ -115,6 +115,12 @@ static struct target_ops windows_ops;
 #   define GetModuleFileNameEx_name "GetModuleFileNameExW"
 #   define bad_GetModuleFileNameEx bad_GetModuleFileNameExW
 # else
+#   define CCP_POSIX_TO_WIN_W 1
+#   define CCP_WIN_W_TO_POSIX 3
+#   define cygwin_conv_path(op, from, to, size)  \
+         (op == CCP_WIN_W_TO_POSIX) ? \
+         cygwin_conv_to_full_posix_path (from, to) : \
+         cygwin_conv_to_win32_path (from, to)
 #   define cygwin_conv_path(op, from, to, size) cygwin_conv_to_full_posix_path (from, to)
     typedef char cygwin_buf_t;
     static DWORD WINAPI (*GetModuleFileNameEx) (HANDLE, HMODULE, LPSTR, DWORD);
@@ -122,6 +128,7 @@ static struct target_ops windows_ops;
 #   define CreateProcess CreateProcessA
 #   define GetModuleFileNameEx_name "GetModuleFileNameExA"
 #   define bad_GetModuleFileNameEx bad_GetModuleFileNameExA
+#   define CW_SET_DOS_FILE_WARNING -1  /* no-op this for older Cygwin */
 # endif
 #endif
 
@@ -706,7 +713,7 @@ windows_make_so (const char *name, LPVOID load_addr)
                      SO_NAME_MAX_PATH_SIZE);
   else
     {
-      char *rname = canonicalize_file_name (name);
+      char *rname = realpath (name, NULL);
       if (rname && strlen (rname) < SO_NAME_MAX_PATH_SIZE)
        {
          strcpy (so->so_name, rname);
@@ -1945,6 +1952,8 @@ windows_create_inferior (struct target_ops *ops, char *exec_file,
        error (_("Error starting executable: %d"), errno);
       cygallargs = (wchar_t *) alloca (len * sizeof (wchar_t));
       mbstowcs (cygallargs, allargs, len);
+#else
+      cygallargs = allargs;
 #endif
     }
   else