diff options
-rw-r--r-- | gdb/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/corelow.c | 3 | ||||
-rw-r--r-- | gdb/defs.h | 12 | ||||
-rw-r--r-- | gdb/exec.c | 3 | ||||
-rw-r--r-- | gdb/remote-rdp.c | 3 | ||||
-rw-r--r-- | gdb/solib.c | 12 | ||||
-rw-r--r-- | gdb/source.c | 3 | ||||
-rw-r--r-- | gdb/symfile.c | 3 |
8 files changed, 30 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 89c58ae..f3e9d10 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2006-02-24 Charles Wilson <cygwin@cwilson.fastmail.fm> + + * gdb/defs.h: unconditionally include <fcntl.h>, and + ensure that O_BINARY is defined. + * gdb/solib.c(solib_open): ensure solib files are opened in + binary mode. + * gdb/corelow.c: Remove O_BINARY macro definition. + * gdb/exec.c: Remove O_BINARY macro definition + * gdb/remote-rdp.c: Remove O_BINARY macro definition + * gdb/source.c: Remove O_BINARY macro definition + * gdb/symfile.c: Remove O_BINARY macro definition + 2006-02-24 Randolph Chung <tausq@debian.org> * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Initialize diff --git a/gdb/corelow.c b/gdb/corelow.c index 2ccbd5b..226b48b 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -47,9 +47,6 @@ #include "exceptions.h" #include "solib.h" -#ifndef O_BINARY -#define O_BINARY 0 -#endif #ifndef O_LARGEFILE #define O_LARGEFILE 0 @@ -39,6 +39,8 @@ #include <unistd.h> #endif +#include <fcntl.h> + /* First include ansidecl.h so we can use the various macro definitions here and in all subsequent file inclusions. */ @@ -58,6 +60,16 @@ #define SEEK_CUR 1 #endif +/* The O_BINARY flag is defined in fcntl.h on some non-Posix platforms. + It is used as an access modifier in calls to open(), where it acts + similarly to the "b" character in fopen()'s MODE argument. On Posix + platforms it should be a no-op, so it is defined as 0 here. This + ensures that the symbol may be used freely elsewhere in gdb. */ + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + #include <stdarg.h> /* For va_list. */ #include "libiberty.h" @@ -42,9 +42,6 @@ #include <ctype.h> #include "gdb_stat.h" -#ifndef O_BINARY -#define O_BINARY 0 -#endif #include "xcoffsolib.h" diff --git a/gdb/remote-rdp.c b/gdb/remote-rdp.c index 4533cdf..54eaf77 100644 --- a/gdb/remote-rdp.c +++ b/gdb/remote-rdp.c @@ -791,9 +791,6 @@ argsin; #define SWI_GenerateError 0x71 -#ifndef O_BINARY -#define O_BINARY 0 -#endif static int translate_open_mode[] = { diff --git a/gdb/solib.c b/gdb/solib.c index cd81274..1368227 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -171,7 +171,7 @@ solib_open (char *in_pathname, char **found_pathname) } /* 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 +192,32 @@ solib_open (char *in_pathname, char **found_pathname) /* 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 diff --git a/gdb/source.c b/gdb/source.c index 3b93362..927601d 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -46,9 +46,6 @@ #include "ui-out.h" #include "readline/readline.h" -#ifndef O_BINARY -#define O_BINARY 0 -#endif #define OPEN_MODE (O_RDONLY | O_BINARY) #define FDOPEN_MODE FOPEN_RB diff --git a/gdb/symfile.c b/gdb/symfile.c index 841d738..59cd3dc 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -60,9 +60,6 @@ #include <time.h> #include <sys/time.h> -#ifndef O_BINARY -#define O_BINARY 0 -#endif int (*deprecated_ui_load_progress_hook) (const char *section, unsigned long num); void (*deprecated_show_load_progress) (const char *section, |