diff options
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index 2600c39..09990a4 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -4442,7 +4442,13 @@ error_free_dyn: global symbols follow all local symbols, and that sh_info point to the first global symbol. Unfortunately, Irix 5 screws this up. */ - continue; + if (elf_bad_symtab (abfd)) + continue; + + /* If we aren't prepared to handle locals within the globals + then we'll likely segfault on a NULL section. */ + bfd_set_error (bfd_error_bad_value); + goto error_free_vers; case STB_GLOBAL: if (isym->st_shndx != SHN_UNDEF && !common) |