diff -ur gdb/config/i386/nm-mingw32.h.orig gdb/config/i386/nm-mingw32.h --- gdb/config/i386/nm-mingw32.h.orig 2006-02-01 16:32:38.946857800 -0500 +++ gdb/config/i386/nm-mingw32.h 2006-01-30 19:07:13.671875000 -0500 @@ -36,3 +36,6 @@ #define I386_DR_LOW_GET_STATUS() cygwin_get_dr6 () extern unsigned cygwin_get_dr6 (void); + +#define IN_SOLIB_DYNSYM_RESOLVE_CODE(PC) (0) + diff -ur gdb/win32-nat.c.orig gdb/win32-nat.c --- gdb/win32-nat.c.orig 2006-02-01 16:34:32.632902600 -0500 +++ gdb/win32-nat.c 2006-01-30 19:15:59.931278800 -0500 @@ -793,6 +793,8 @@ so->lm_info->load_addr = load_addr; #ifdef __CYGWIN__ cygwin_conv_to_posix_path (buf, so->so_name); +#else + strcpy (so->so_name, buf); #endif strcpy (so->so_original_name, so->so_name); Index: gdb/solib.c =================================================================== RCS file: /cvs/src/src/gdb/solib.c,v retrieving revision 1.83 diff -u -r1.83 solib.c --- gdb/solib.c 21 Jan 2006 22:23:27 -0000 1.83 +++ gdb/solib.c 1 Feb 2006 21:27:52 -0000 @@ -47,6 +47,10 @@ #include "observer.h" #include "readline/readline.h" +#ifndef O_BINARY +# define O_BINARY 0 +#endif + /* Architecture-specific operations. */ /* Per-architecture data key. */ @@ -171,7 +175,7 @@ } /* Now see if we can open it. */ - found_file = open (temp_pathname, O_RDONLY, 0); + found_file = open (temp_pathname, O_RDONLY|O_BINARY, 0); } /* If the search in solib_absolute_prefix failed, and the path name is @@ -192,32 +196,32 @@ /* If not found, search the solib_search_path (if any). */ if (found_file < 0 && solib_search_path != NULL) found_file = openp (solib_search_path, OPF_TRY_CWD_FIRST, - in_pathname, O_RDONLY, 0, &temp_pathname); + in_pathname, O_RDONLY|O_BINARY, 0, &temp_pathname); /* If not found, next search the solib_search_path (if any) for the basename only (ignoring the path). This is to allow reading solibs from a path that differs from the opened path. */ if (found_file < 0 && solib_search_path != NULL) found_file = openp (solib_search_path, OPF_TRY_CWD_FIRST, - lbasename (in_pathname), O_RDONLY, 0, + lbasename (in_pathname), O_RDONLY|O_BINARY, 0, &temp_pathname); /* If not found, try to use target supplied solib search method */ if (found_file < 0 && ops->find_and_open_solib) - found_file = ops->find_and_open_solib (in_pathname, O_RDONLY, + found_file = ops->find_and_open_solib (in_pathname, O_RDONLY|O_BINARY, &temp_pathname); /* If not found, next search the inferior's $PATH environment variable. */ if (found_file < 0 && solib_absolute_prefix == NULL) found_file = openp (get_in_environ (inferior_environ, "PATH"), - OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY, 0, + OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY|O_BINARY, 0, &temp_pathname); /* If not found, next search the inferior's $LD_LIBRARY_PATH environment variable. */ if (found_file < 0 && solib_absolute_prefix == NULL) found_file = openp (get_in_environ (inferior_environ, "LD_LIBRARY_PATH"), - OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY, 0, + OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY|O_BINARY, 0, &temp_pathname); /* Done. If not found, tough luck. Return found_file and