diff options
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/objcopy.c | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 7ce0326..1fe7f15 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2020-03-06 Alan Modra <amodra@gmail.com> + + PR 25637 + * objcopy.c (filter_symbols): Correct rem_leading_char logic. + 2020-03-05 Alan Modra <amodra@gmail.com> PR 25629 diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 3b9f1b7..16affa9 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1549,12 +1549,13 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms, /* Check if we will remove the current leading character. */ rem_leading_char = - (name[0] == bfd_get_symbol_leading_char (abfd)) - && (change_leading_char - || (remove_leading_char - && ((flags & (BSF_GLOBAL | BSF_WEAK)) != 0 - || undefined - || bfd_is_com_section (bfd_asymbol_section (sym))))); + (name[0] != '\0' + && name[0] == bfd_get_symbol_leading_char (abfd) + && (change_leading_char + || (remove_leading_char + && ((flags & (BSF_GLOBAL | BSF_WEAK)) != 0 + || undefined + || bfd_is_com_section (bfd_asymbol_section (sym)))))); /* Check if we will add a new leading character. */ add_leading_char = |