Sat Apr 19 22:52:03 1997 Jim Wilson <wilson@cygnus.com>
authorIan Lance Taylor <ian@airs.com>
Sun, 20 Apr 1997 02:53:22 +0000 (02:53 +0000)
committerIan Lance Taylor <ian@airs.com>
Sun, 20 Apr 1997 02:53:22 +0000 (02:53 +0000)
* config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
for all undefined symbols.

gas/ChangeLog
gas/config/obj-elf.c

index 8787765886e5201040f24c41edcb2d69d4d00bc3..47bd4d194c0d96770cd82ee7d778ecc501ab0048 100644 (file)
@@ -1,3 +1,8 @@
+Sat Apr 19 22:52:03 1997  Jim Wilson  <wilson@cygnus.com>
+
+       * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
+       for all undefined symbols.
+
 Fri Apr 18 13:37:35 1997  Ian Lance Taylor  <ian@cygnus.com>
 
        * config/tc-ppc.c (ppc_fix_adjustable): Handle zero length csects
index 40c6d021b16155324095124a42b254163576eb0f..c861d5445192b02f1a1ac1cd2dc13912b17dcdc6 100644 (file)
@@ -845,6 +845,16 @@ obj_elf_text (i)
 #endif
 }
 
+/* This can be called from the processor backends if they change
+   sections.  */
+
+void
+obj_elf_section_change_hook ()
+{
+  previous_section = now_seg;
+  previous_subsection = now_subseg;
+}
+
 void
 obj_elf_previous (ignore)
      int ignore;
@@ -1362,10 +1372,11 @@ elf_frob_symbol (symp, puntp)
     }
 
 #ifdef TC_MIPS
-  /* The Irix 5 assembler appears to set the type of any common symbol
-     to STT_OBJECT.  We try to be compatible, since the Irix 5 linker
-     apparently sometimes cares.  FIXME: What about Irix 6?  */
-  if (S_IS_COMMON (symp))
+  /* The Irix 5 and 6 assemblers set the type of any common symbol and
+     any undefined non-function symbol to STT_OBJECT.  We try to be compatible,
+     since newer Irix 5 and 6 linkers care.  */
+  if (S_IS_COMMON (symp)
+      || (! S_IS_DEFINED (symp) && ((symp->bsym->flags & BSF_FUNCTION) == 0)))
     symp->bsym->flags |= BSF_OBJECT;
 #endif