diff options
author | Nick Clifton <nickc@redhat.com> | 2019-07-01 11:17:01 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-07-01 11:17:01 +0100 |
commit | 539300fb929ada830ec7c4002fd59f0d86c823b1 (patch) | |
tree | 9960e5ed55cb08d4465423788ded82fe88fc8176 /bfd | |
parent | f57cf0e3e357255959d00626bce5c21396e23212 (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 2 |
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) |