From 0ec992e6647c00fc234cdf4c11732b6711b024af Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 6 Oct 2020 15:49:40 +0100 Subject: [PATCH] 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. --- binutils/ChangeLog | 5 +++++ binutils/objcopy.c | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f5411e3fb3a..b751eeec5e2 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 1a6fc8a4f59..d777d740cb7 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) -- 2.30.2