aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2019-07-01 11:17:01 +0100
committerNick Clifton <nickc@redhat.com>2019-07-01 11:17:01 +0100
commit539300fb929ada830ec7c4002fd59f0d86c823b1 (patch)
tree9960e5ed55cb08d4465423788ded82fe88fc8176 /bfd
parentf57cf0e3e357255959d00626bce5c21396e23212 (diff)
downloadgdb-539300fb929ada830ec7c4002fd59f0d86c823b1.zip
gdb-539300fb929ada830ec7c4002fd59f0d86c823b1.tar.gz
gdb-539300fb929ada830ec7c4002fd59f0d86c823b1.tar.bz2
Correct the calculation of offsets for ARM exidx relocs when performing a partial link.
PR 23839 bfd * elf32-arm.c (elf32_arm_update_relocs): Do not include the section VMA in the offset used to update exidx relocs. ld * testsuite/ld-arm/unwind-4.d: Adjust for corrected calculation of exidx relocs.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 31d4eee..6c19987 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2019-07-01 Nick Clifton <nickc@redhat.com>
+
+ PR 23839
+ * elf32-arm.c (elf32_arm_update_relocs): Do not include the
+ section VMA in the offset used to update exidx relocs.
+
2019-06-28 Nick Clifton <nickc@redhat.com>
PR 24708
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 52fd48f..bcace92 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -15790,7 +15790,7 @@ elf32_arm_update_relocs (asection *o,
eadi = get_arm_elf_section_data (i);
edit_list = eadi->u.exidx.unwind_edit_list;
edit_tail = eadi->u.exidx.unwind_edit_tail;
- offset = o->vma + i->output_offset;
+ offset = i->output_offset;
if (eadi->elf.rel.hdr &&
eadi->elf.rel.hdr->sh_entsize == rel_hdr->sh_entsize)