From: Nick Clifton Date: Tue, 6 Oct 2020 14:49:40 +0000 (+0100) Subject: Fix a bug in objcopy/strip's ability to merge notes in multiple same-named sections. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=0ec992e6647c00fc234cdf4c11732b6711b024af;p=deliverable%2Fbinutils-gdb.git Fix a bug in objcopy/strip's ability to merge notes in multiple same-named sections. * objcopy.c (copy_object): Compare input and output sections by pointer rather than name. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f5411e3fb3..b751eeec5e 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2020-10-06 Nick Clifton + + * objcopy.c (copy_object): Compare input and output sections by + pointer rather than name. + 2020-10-05 Nick Clifton PR 26698 diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 1a6fc8a4f5..d777d740cb 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -3322,14 +3322,12 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) /* It is likely that output sections are in the same order as the input sections, but do not assume that this is the case. */ - if (strcmp (bfd_section_name (merged->sec), - bfd_section_name (osec)) != 0) + if (merged->sec->output_section != osec) { for (merged = merged_note_sections; merged != NULL; merged = merged->next) - if (strcmp (bfd_section_name (merged->sec), - bfd_section_name (osec)) == 0) + if (merged->sec->output_section == osec) break; if (merged == NULL)