aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Wilson <cygwin@cwilson.fastmail.fm>2006-02-25 04:36:39 +0000
committerCharles Wilson <cygwin@cwilson.fastmail.fm>2006-02-25 04:36:39 +0000
commit637d6690a829770987bd4433aacb157fc59ffb77 (patch)
tree9353b781dfa9d5458cd39b152ec56c8a89ec795e
parent83d634e3da41ad929375686dbb12ee4e3ce60101 (diff)
downloadfsf-binutils-gdb-637d6690a829770987bd4433aacb157fc59ffb77.zip
fsf-binutils-gdb-637d6690a829770987bd4433aacb157fc59ffb77.tar.gz
fsf-binutils-gdb-637d6690a829770987bd4433aacb157fc59ffb77.tar.bz2
* 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
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/corelow.c3
-rw-r--r--gdb/defs.h12
-rw-r--r--gdb/exec.c3
-rw-r--r--gdb/remote-rdp.c3
-rw-r--r--gdb/solib.c12
-rw-r--r--gdb/source.c3
-rw-r--r--gdb/symfile.c3
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
diff --git a/gdb/defs.h b/gdb/defs.h
index d983dfc..1512a6a 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -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"
diff --git a/gdb/exec.c b/gdb/exec.c
index 31dd636..248f7ee 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -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,