Re: elf: Disallow the empty global symbol name sparc64-linux-gnu +FAIL: selective2 sparc64-linux-gnu +FAIL: selective3 PR ld/33456 * elflink.c (elf_link_add_object_symbols): Move new check later to give the backend add_symbol_hook a chance to remove symbols with empty names.
diff --git a/bfd/elflink.c b/bfd/elflink.c index 0a04561..5c8b822 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c
@@ -5096,13 +5096,6 @@ if (name == NULL) goto error_free_vers; - if (name[0] == '\0') - { - _bfd_error_handler (_("%pB: corrupt symbol table"), abfd); - bfd_set_error (bfd_error_bad_value); - goto error_free_vers; - } - if (isym->st_shndx == SHN_COMMON && (abfd->flags & BFD_PLUGIN) != 0) { @@ -5146,6 +5139,13 @@ continue; } + if (name[0] == '\0') + { + _bfd_error_handler (_("%pB: corrupt symbol table"), abfd); + bfd_set_error (bfd_error_bad_value); + goto error_free_vers; + } + /* Sanity check that all possibilities were handled. */ if (sec == NULL) abort ();