aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-s390-common.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-05-08 19:10:42 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-05-08 19:43:20 +0200
commitd7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10 (patch)
tree08784b8961e54dd8c3f5eb0a80582c07d0b5b98c /bfd/elf-s390-common.c
parentf604c2a2a54ebf88e4a51986c7cdedffe7b3313a (diff)
downloadfsf-binutils-gdb-d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10.zip
fsf-binutils-gdb-d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10.tar.gz
fsf-binutils-gdb-d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10.tar.bz2
S/390: Fix ifunc missing runtime reloc
This fixes a problem with a missing R_390_64 reloc against .data for a function pointer to an ifunc function. No regressions on s390x. Pushed to mainline. bfd/ChangeLog: 2017-05-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * elf-s390-common.c: Don't check non_got_ref flag. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf-s390-common.c')
-rw-r--r--bfd/elf-s390-common.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/bfd/elf-s390-common.c b/bfd/elf-s390-common.c
index 1570365..8795fb9 100644
--- a/bfd/elf-s390-common.c
+++ b/bfd/elf-s390-common.c
@@ -161,9 +161,7 @@ keep:
h->type = STT_FUNC;
}
- /* We need dynamic relocation for STT_GNU_IFUNC symbol only when
- there is a non-GOT reference in a shared object. */
- if (!bfd_link_pic (info) || !h->non_got_ref)
+ if (!bfd_link_pic (info))
*head = NULL;
/* Finally, allocate space. */