aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2020-10-06 15:49:40 +0100
committerNick Clifton <nickc@redhat.com>2020-10-06 15:49:40 +0100
commit0ec992e6647c00fc234cdf4c11732b6711b024af (patch)
treea855ae9f9899fdfbea8a016114b53fe827a5f214 /binutils
parent308975919152fbf301861d88e2da9b522e3cf112 (diff)
downloadbinutils-0ec992e6647c00fc234cdf4c11732b6711b024af.zip
binutils-0ec992e6647c00fc234cdf4c11732b6711b024af.tar.gz
binutils-0ec992e6647c00fc234cdf4c11732b6711b024af.tar.bz2
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.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/objcopy.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index f5411e3..b751eee 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2020-10-06 Nick Clifton <nickc@redhat.com>
+
+ * objcopy.c (copy_object): Compare input and output sections by
+ pointer rather than name.
+
2020-10-05 Nick Clifton <nickc@redhat.com>
PR 26698
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 1a6fc8a..d777d74 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)