diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-10-16 21:07:17 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-10-22 10:11:57 +0200 |
commit | 01a53584798606cf6329e8a86134cb9b47d1de11 (patch) | |
tree | ddde096897ea6935d2ec0d1ca7f63b93d030ca24 /bfd/ChangeLog | |
parent | 0f042c67a04d5d0c8f879c27d651a7ed5aa6566f (diff) | |
download | binutils-01a53584798606cf6329e8a86134cb9b47d1de11.zip binutils-01a53584798606cf6329e8a86134cb9b47d1de11.tar.gz binutils-01a53584798606cf6329e8a86134cb9b47d1de11.tar.bz2 |
S/390: ifunc: Handle GOTOFF relocs on ifunc symbols.
Normally a GOTOFF reloc only uses the GOT pointer to address something
relativ to it without actually requiring a GOT or PLT slot. Things
change if the target is an ifunc symbol though.
bfd/ChangeLog:
* elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
slot allocating code for GOTOFF relocs on ifunc symbols.
(elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
on ifunc symbols.
(elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
slot.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0ab1aed..86a8ce8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,14 @@ 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT + slot allocating code for GOTOFF relocs on ifunc symbols. + (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs + on ifunc symbols. + (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt + slot. + +2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + PR ld/18841 * elf32-s390.c (elf_s390_reloc_type_class): Return reloc_class_ifunc for ifunc symbols. |