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