aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.c2
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/testsuite/ld-arm/unwind-4.d2
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