PR25637, objcopy : SIGSEGV in copy_object

PR 25637
	* objcopy.c (filter_symbols): Correct rem_leading_char logic.
This commit is contained in:
Alan Modra 2020-03-06 10:33:10 +10:30
parent 97669d59c8
commit a9b90127e8
2 changed files with 12 additions and 6 deletions

View File

@ -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

View File

@ -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 =