aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2012-11-12 09:04:13 +0000
committerTristan Gingold <gingold@adacore.com>2012-11-12 09:04:13 +0000
commit9bb099b6914cd290e0914c9f1e098922b18fb4b4 (patch)
treec211d6376cf40c2751f25e6e4b32ef0dffe0a8f6
parente311b1a9a748802cf6bdad5a33cca01fe316a739 (diff)
downloadbinutils-9bb099b6914cd290e0914c9f1e098922b18fb4b4.zip
binutils-9bb099b6914cd290e0914c9f1e098922b18fb4b4.tar.gz
binutils-9bb099b6914cd290e0914c9f1e098922b18fb4b4.tar.bz2
bfd/
2012-11-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR target/14788 * elf32-s390.c (elf_s390_relocate_section): Set elf.dynobj for local ifunc symbols. * elf64-s390.c (elf_s390_relocate_section): Likewise.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-s390.c3
-rw-r--r--bfd/elf64-s390.c3
3 files changed, 13 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fd717c9..6298880 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2012-11-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/14788
+ * elf32-s390.c (elf_s390_relocate_section): Set elf.dynobj for
+ local ifunc symbols.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+
2012-11-05 Alan Modra <amodra@gmail.com>
* configure.in: Apply 2012-09-10 change to config.in here.
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 8d654d5..92a1e6f 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -1013,6 +1013,9 @@ elf_s390_check_relocs (bfd *abfd,
{
struct plt_entry *plt;
+ if (htab->elf.dynobj == NULL)
+ htab->elf.dynobj = abfd;
+
if (!s390_elf_create_ifunc_sections (htab->elf.dynobj, info))
return FALSE;
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 8512fc0..62ce6dd 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -937,6 +937,9 @@ elf_s390_check_relocs (bfd *abfd,
{
struct plt_entry *plt;
+ if (htab->elf.dynobj == NULL)
+ htab->elf.dynobj = abfd;
+
if (!s390_elf_create_ifunc_sections (htab->elf.dynobj, info))
return FALSE;