mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-10 01:15:10 +08:00
bfd/efl32-arm.c: Fix handling of IRELATIVE relocs.
bfd/ChangeLog: 2013-04-24 Will Newton <will.newton@linaro.org> * elf32-arm.c (elf32_arm_populate_plt_entry): Call elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs. ld/testsuite/ChangeLog: 2013-04-24 Will Newton <will.newton@linaro.org> * ld-arm/arm-elf.exp: Add IFUNC test 17. * ld-arm/ifunc-17.dd: New file. * ld-arm/ifunc-17.gd: Likewise. * ld-arm/ifunc-17.rd: Likewise. * ld-arm/ifunc-17.s: Likweise. * ld-arm/ifunc-1.rd: Reorder relocs to match linker output. * ld-arm/ifunc-2.rd: Likewise. * ld-arm/ifunc-5.rd: Likewise. * ld-arm/ifunc-6.rd: Likewise.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2013-04-29 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* elf32-arm.c (elf32_arm_populate_plt_entry): Call
|
||||
elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.
|
||||
|
||||
2013-04-29 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
|
||||
|
@ -7699,8 +7699,13 @@ elf32_arm_populate_plt_entry (bfd *output_bfd, struct bfd_link_info *info,
|
||||
sgot->contents + got_offset);
|
||||
}
|
||||
|
||||
loc = srel->contents + plt_index * RELOC_SIZE (htab);
|
||||
SWAP_RELOC_OUT (htab) (output_bfd, &rel, loc);
|
||||
if (dynindx == -1)
|
||||
elf32_arm_add_dynreloc (output_bfd, info, srel, &rel);
|
||||
else
|
||||
{
|
||||
loc = srel->contents + plt_index * RELOC_SIZE (htab);
|
||||
SWAP_RELOC_OUT (htab) (output_bfd, &rel, loc);
|
||||
}
|
||||
}
|
||||
|
||||
/* Some relocations map to different relocations depending on the
|
||||
|
Reference in New Issue
Block a user