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.
This commit is contained in:
Alan Modra
2025-09-25 10:41:32 +09:30
parent 047435dd98
commit 72efdf166a

View File

@@ -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 ();