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 | |
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.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 2 | ||||
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/unwind-4.d | 2 |
4 files changed, 15 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) diff --git a/ld/ChangeLog b/ld/ChangeLog index f7d7af6..d23ae59 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2019-07-01 Nick Clifton <nickc@redhat.com> + + PR 23839 + * testsuite/ld-arm/unwind-4.d: Adjust for corrected calculation of + exidx relocs. + 2019-06-28 Alan Modra <amodra@gmail.com> * testsuite/ld-powerpc/callstub-1.d, diff --git a/ld/testsuite/ld-arm/unwind-4.d b/ld/testsuite/ld-arm/unwind-4.d index 0bed0dc..6bd4d91 100644 --- a/ld/testsuite/ld-arm/unwind-4.d +++ b/ld/testsuite/ld-arm/unwind-4.d @@ -13,6 +13,8 @@ OFFSET TYPE VALUE 0000000c R_ARM_PREL31 \.text 00000010 R_ARM_PREL31 \.text 00000010 R_ARM_NONE __aeabi_unwind_cpp_pr0 +00000010 R_ARM_PREL31 \.text +00000010 R_ARM_NONE __aeabi_unwind_cpp_pr0 00000018 R_ARM_PREL31 \.text |