Force all PPC symbols that otherwise do not have a symbol type to be BSF_OBJECT
authorMichael Meissner <gnu@the-meissners.org>
Thu, 15 Feb 1996 19:54:38 +0000 (19:54 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Thu, 15 Feb 1996 19:54:38 +0000 (19:54 +0000)
gas/ChangeLog
gas/config/obj-elf.c

index 5e61d18..3dd417e 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 15 14:48:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all
+       symbols that are not function, file, or section symbols to be
+       object types.
+
 Thu Feb 15 11:20:18 1996  Ian Lance Taylor  <ian@cygnus.com>
 
        * configure: Set and substitute RPATH_ENVVAR.
index aaf0095..29b442e 100644 (file)
@@ -1159,6 +1159,21 @@ elf_frob_symbol (symp, puntp)
        as_bad ("Symbol `%s' can not be both weak and common",
                S_GET_NAME (symp));
     }
+
+#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))
+    symp->bsym->flags |= BSF_OBJECT;
+#endif
+
+#ifdef TC_PPC
+  /* Frob the PowerPC, so that the symbol always has object type
+     if it is not some other type.  VxWorks needs this.  */
+  if ((symp->bsym->flags & (BSF_FUNCTION | BSF_FILE | BSF_SECTION_SYM)) == 0)
+    symp->bsym->flags |= BSF_OBJECT;
+#endif
 }
 
 void