* Makefile.in (os9kread.o): Do not compile with WERROR_CFLAGS.
authorAndrew Cagney <cagney@redhat.com>
Thu, 1 Mar 2001 18:19:28 +0000 (18:19 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 1 Mar 2001 18:19:28 +0000 (18:19 +0000)
* os9kread.c (os9k_process_one_symbol): Add assert to detect
``loses if sizeof (char *) > sizeof (int)''.

gdb/ChangeLog
gdb/Makefile.in
gdb/os9kread.c

index d3d62bef7dcfa241f7e72c0ff3d067c1a9299c7d..7714fd67d8a1060f6b6326ccd3731f53039a8841 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-01  Andrew Cagney  <ac131313@redhat.com>
+
+       * Makefile.in (os9kread.o): Do not compile with WERROR_CFLAGS.
+       * os9kread.c (os9k_process_one_symbol): Add assert to detect
+       ``loses if sizeof (char *) > sizeof (int)''.
+
 2001-03-01  Andrew Cagney  <ac131313@redhat.com>
 
        * gdb_assert.h: Document pragmatics behind gdb_assert's case.
index 01165a052e73a7939dffe3183272264de1c121cc..c619fc58ab57831e0450036894413c0d7f1fa6aa 100644 (file)
@@ -1635,10 +1635,13 @@ mdebugread.o: mdebugread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \
 
 mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) $(regcache_h)
 
+# os9kread assumes that sizeof(char*) <= sizeof(int).  This looses on
+# 64 bit targets where often, sizeof(int)=4 but sizeof(char*)=9.
 os9kread.o: os9kread.c buildsym.h complaints.h $(bfd_h) $(defs_h) \
-        $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) language.h \
-        objfiles.h stabsread.h symfile.h $(symtab_h) \
-       target.h gdb_string.h
+               $(expression_h) gdb-stabs.h $(gdbcore_h) $(gdbtypes_h) \
+               language.h objfiles.h stabsread.h symfile.h $(symtab_h) \
+               target.h gdb_string.h
+       $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) $<
 
 mem-break.o: mem-break.c $(defs_h) 
 
index 00a59968bcddf34681cf1204c1fc78bafa8cf33c..a3d67fcc10b8652611f5d38b510dab83beb21616 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "defs.h"
 #include "gdb_string.h"
+#include "gdb_assert.h"
 #include <stdio.h>
 
 #if defined(USG) || defined(__CYGNUSCLIB__)
@@ -1509,6 +1510,7 @@ os9k_process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
       /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
       valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
       /* FIXME: loses if sizeof (char *) > sizeof (int) */
+      gdb_assert (sizeof (name) <= sizeof (int));
       record_line (current_subfile, (int) name, valu);
       break;