summaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
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/elf32-arm.c
parentf57cf0e3e357255959d00626bce5c21396e23212 (diff)
downloadbinutils-gdb-539300fb929ada830ec7c4002fd59f0d86c823b1.tar.gz
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/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 52fd48f6ec9..bcace92421c 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)