* elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is

seen with a local symbol, rather than crashing.
This commit is contained in:
Ian Lance Taylor 1997-03-15 02:16:30 +00:00
parent 46a92fde53
commit 4813bbed2b
2 changed files with 11 additions and 1 deletions

View File

@ -1,5 +1,8 @@
Fri Mar 14 16:43:22 1997 Ian Lance Taylor <ian@cygnus.com>
* elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is
seen with a local symbol, rather than crashing.
* elfcode.h (elf_slurp_symbol_table): Don't try to read the
version symbols if there aren't any.

View File

@ -5868,7 +5868,14 @@ mips_elf_check_relocs (abfd, info, sec, relocs)
case R_MIPS_CALL_LO16:
/* This symbol requires a global offset table entry. */
BFD_ASSERT (h != NULL);
if (h == NULL)
{
(*_bfd_error_handler)
("%s: CALL16 reloc at 0x%lx not against global symbol",
bfd_get_filename (abfd), (unsigned long) rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return false;
}
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)