]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Revert "Don't return "(null)" from bfd_elf_sym_name"
authorAlan Modra <amodra@gmail.com>
Mon, 7 Oct 2024 23:21:37 +0000 (09:51 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 8 Oct 2024 04:42:14 +0000 (15:12 +1030)
This reverts commit 68bbe118337939aa0b52e007a7415c8a157579a1.

bfd/coffgen.c
bfd/ecoff.c
bfd/elf.c
bfd/pef.c
bfd/syms.c
ld/ldlang.c

index ff382a7e9c9f1bc0a1839f1b66732218e558c9d3..cc1c655738b3bb990ee879a5044aae7900e82bf8 100644 (file)
@@ -2161,12 +2161,11 @@ coff_print_symbol (bfd *abfd,
                   bfd_print_symbol_type how)
 {
   FILE * file = (FILE *) filep;
-  const char *symname = symbol->name ? symbol->name : "<null>";
 
   switch (how)
     {
     case bfd_print_symbol_name:
-      fprintf (file, "%s", symname);
+      fprintf (file, "%s", symbol->name);
       break;
 
     case bfd_print_symbol_more:
@@ -2190,7 +2189,7 @@ coff_print_symbol (bfd *abfd,
          if (combined < obj_raw_syments (abfd)
              || combined >= obj_raw_syments (abfd) + obj_raw_syment_count (abfd))
            {
-             fprintf (file, _("<corrupt info> %s"), symname);
+             fprintf (file, _("<corrupt info> %s"), symbol->name);
              break;
            }
 
@@ -2208,7 +2207,7 @@ coff_print_symbol (bfd *abfd,
                   combined->u.syment.n_sclass,
                   combined->u.syment.n_numaux);
          bfd_fprintf_vma (abfd, file, val);
-         fprintf (file, " %s", symname);
+         fprintf (file, " %s", symbol->name);
 
          for (aux = 0; aux < combined->u.syment.n_numaux; aux++)
            {
@@ -2298,8 +2297,7 @@ coff_print_symbol (bfd *abfd,
 
          if (l)
            {
-             fprintf (file, "\n%s :",
-                      l->u.sym->name ? l->u.sym->name : "<null>");
+             fprintf (file, "\n%s :", l->u.sym->name);
              l++;
              while (l->line_number)
                {
@@ -2319,7 +2317,7 @@ coff_print_symbol (bfd *abfd,
                   symbol->section->name,
                   coffsymbol (symbol)->native ? "n" : "g",
                   coffsymbol (symbol)->lineno ? "l" : " ",
-                  symname);
+                  symbol->name);
        }
     }
 }
index 93b93f39be1304190926c15f58dbe8616a5b41bb..5ee7ffaf4898c7c562590ca9fa6ea5d9de56da30 100644 (file)
@@ -1452,12 +1452,11 @@ _bfd_ecoff_print_symbol (bfd *abfd,
   const struct ecoff_debug_swap * const debug_swap
     = &ecoff_backend (abfd)->debug_swap;
   FILE *file = (FILE *)filep;
-  const char *symname = symbol->name ? symbol->name : "<null>";
 
   switch (how)
     {
     case bfd_print_symbol_name:
-      fprintf (file, "%s", symname);
+      fprintf (file, "%s", symbol->name);
       break;
     case bfd_print_symbol_more:
       if (ecoffsymbol (symbol)->local)
@@ -1527,7 +1526,7 @@ _bfd_ecoff_print_symbol (bfd *abfd,
                 (unsigned) ecoff_ext.asym.sc,
                 (unsigned) ecoff_ext.asym.index,
                 jmptbl, cobol_main, weakext,
-                symname);
+                symbol->name);
 
        if (ecoffsymbol (symbol)->fdr != NULL
            && ecoff_ext.asym.index != indexNil)
index 7d3d2063130bd3d5bd988207ca68b15f76ac85c8..c882a66ab5c2a8050c1f79e863c9dac4b55a2fff 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -549,7 +549,9 @@ bfd_elf_sym_name (bfd *abfd,
     }
 
   name = bfd_elf_string_from_elf_section (abfd, shindex, iname);
-  if (sym_sec && name && *name == '\0')
+  if (name == NULL)
+    name = "(null)";
+  else if (sym_sec && *name == '\0')
     name = bfd_section_name (sym_sec);
 
   return name;
@@ -2312,12 +2314,10 @@ bfd_elf_print_symbol (bfd *abfd,
                      bfd_print_symbol_type how)
 {
   FILE *file = (FILE *) filep;
-  const char *symname = symbol->name ? symbol->name : "<null>";
-
   switch (how)
     {
     case bfd_print_symbol_name:
-      fprintf (file, "%s", symname);
+      fprintf (file, "%s", symbol->name);
       break;
     case bfd_print_symbol_more:
       fprintf (file, "elf ");
@@ -2340,10 +2340,11 @@ bfd_elf_print_symbol (bfd *abfd,
        if (bed->elf_backend_print_symbol_all)
          name = (*bed->elf_backend_print_symbol_all) (abfd, filep, symbol);
 
-       if (name != NULL)
-         symname = name;
-       else
-         bfd_print_symbol_vandf (abfd, file, symbol);
+       if (name == NULL)
+         {
+           name = symbol->name;
+           bfd_print_symbol_vandf (abfd, file, symbol);
+         }
 
        fprintf (file, " %s\t", section_name);
        /* Print the "other" value for a symbol.  For common symbols,
@@ -2390,7 +2391,7 @@ bfd_elf_print_symbol (bfd *abfd,
            fprintf (file, " 0x%02x", (unsigned int) st_other);
          }
 
-       fprintf (file, " %s", symname);
+       fprintf (file, " %s", name);
       }
       break;
     }
index 324adb33d695c32a048d5fc346375a19553db984..f330b92e82103e15cee3c77805400f99ab7b71a8 100644 (file)
--- a/bfd/pef.c
+++ b/bfd/pef.c
@@ -210,17 +210,16 @@ bfd_pef_print_symbol (bfd *abfd,
                      bfd_print_symbol_type how)
 {
   FILE *file = (FILE *) afile;
-  const char *symname = symbol->name ? symbol->name : "<null>";
 
   switch (how)
     {
     case bfd_print_symbol_name:
-      fprintf (file, "%s", symname);
+      fprintf (file, "%s", symbol->name);
       break;
     default:
       bfd_print_symbol_vandf (abfd, (void *) file, symbol);
-      fprintf (file, " %-5s %s", symbol->section->name, symname);
-      if (startswith (symname, "__traceback_"))
+      fprintf (file, " %-5s %s", symbol->section->name, symbol->name);
+      if (startswith (symbol->name, "__traceback_"))
        {
          unsigned char *buf;
          size_t offset = symbol->value + 4;
index 816296b68a3a702d6d54216621c74cb6bcb1b58a..b370a3375d91591d51e50175a4be67ff38a504ae 100644 (file)
@@ -777,7 +777,7 @@ bfd_symbol_info (asymbol *symbol, symbol_info *ret)
   else
     ret->value = symbol->value + symbol->section->vma;
 
-  ret->name = symbol->name ? symbol->name : "<null>";
+  ret->name = symbol->name;
 }
 
 /*
index 343c4de53f48fbe2ffa3e86a0cd50aa19cba9e65..7f9e3d2b119b57015149dbbc15a7167ac6e36af1 100644 (file)
@@ -4895,6 +4895,9 @@ ld_is_local_symbol (asymbol * sym)
   if (name == NULL || *name == 0)
     return false;
 
+  if (strcmp (name, "(null)") == 0)
+    return false;
+
   /* Skip .Lxxx and such like.  */
   if (bfd_is_local_label (link_info.output_bfd, sym))
     return false;