aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2024-10-08 09:51:37 +1030
committerAlan Modra <amodra@gmail.com>2024-10-08 15:12:14 +1030
commitcc516199d64768b32bc4f8572ade82b4865eccfa (patch)
tree44c1bfcbbbf412020df57719deaeb92f3bcfbc8d
parente5375abb67e8c52c01d8ba40fffe2378cdcdb6e5 (diff)
downloadgdb-cc516199d64768b32bc4f8572ade82b4865eccfa.zip
gdb-cc516199d64768b32bc4f8572ade82b4865eccfa.tar.gz
gdb-cc516199d64768b32bc4f8572ade82b4865eccfa.tar.bz2
Revert "Don't return "(null)" from bfd_elf_sym_name"
This reverts commit 68bbe118337939aa0b52e007a7415c8a157579a1.
-rw-r--r--bfd/coffgen.c12
-rw-r--r--bfd/ecoff.c5
-rw-r--r--bfd/elf.c19
-rw-r--r--bfd/pef.c7
-rw-r--r--bfd/syms.c2
-rw-r--r--ld/ldlang.c3
6 files changed, 24 insertions, 24 deletions
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index ff382a7..cc1c655 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -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);
}
}
}
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index 93b93f3..5ee7ffa 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -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)
diff --git a/bfd/elf.c b/bfd/elf.c
index 7d3d206..c882a66 100644
--- 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;
}
diff --git a/bfd/pef.c b/bfd/pef.c
index 324adb3..f330b92 100644
--- 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;
diff --git a/bfd/syms.c b/bfd/syms.c
index 816296b..b370a33 100644
--- a/bfd/syms.c
+++ b/bfd/syms.c
@@ -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;
}
/*
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 343c4de..7f9e3d2 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -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;