* gdb/defs.h: unconditionally include <fcntl.h>, and
authorCharles Wilson <cygwin@cwilson.fastmail.fm>
Sat, 25 Feb 2006 04:36:39 +0000 (04:36 +0000)
committerCharles Wilson <cygwin@cwilson.fastmail.fm>
Sat, 25 Feb 2006 04:36:39 +0000 (04:36 +0000)
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

gdb/ChangeLog
gdb/corelow.c
gdb/defs.h
gdb/exec.c
gdb/remote-rdp.c
gdb/solib.c
gdb/source.c
gdb/symfile.c

index 89c58ae..f3e9d10 100644 (file)
@@ -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 
index 2ccbd5b..226b48b 100644 (file)
@@ -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
index d983dfc..1512a6a 100644 (file)
@@ -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.  */
 
 #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"
index 31dd636..248f7ee 100644 (file)
@@ -42,9 +42,6 @@
 
 #include <ctype.h>
 #include "gdb_stat.h"
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
 
 #include "xcoffsolib.h"
 
index 4533cdf..54eaf77 100644 (file)
@@ -791,9 +791,6 @@ argsin;
 #define SWI_GenerateError               0x71
 
 
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
 
 static int translate_open_mode[] =
 {
index cd81274..1368227 100644 (file)
@@ -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 
index 3b93362..927601d 100644 (file)
@@ -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
index 841d738..59cd3dc 100644 (file)
@@ -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,