From 72efdf166aa0ed72ecc69fc2349af6591a7a19c0 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 25 Sep 2025 10:41:32 +0930 Subject: [PATCH] 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. --- bfd/elflink.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bfd/elflink.c b/bfd/elflink.c index 0a0456177c2..5c8b822e36a 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -5096,13 +5096,6 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) 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 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) 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 (); -- 2.47.3