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.
This commit is contained in:
Nick Clifton 2019-07-01 11:17:01 +01:00
parent f57cf0e3e3
commit 539300fb92
4 changed files with 15 additions and 1 deletions

View File

@ -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

View File

@ -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)

View File

@ -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,

View File

@ -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