diff --git a/gas/ChangeLog b/gas/ChangeLog index 5e61d18afe..3dd417e85a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Thu Feb 15 14:48:38 1996 Michael Meissner + + * 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 * configure: Set and substitute RPATH_ENVVAR. diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index aaf00950c9..29b442e728 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -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