From 0cb79d6955c226a3639ae92f771509754ed3276d Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Mon, 5 Nov 2012 12:31:08 +0000 Subject: [PATCH] 2012-11-05 Andreas Krebbel 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. --- bfd/ChangeLog | 7 +++++++ bfd/elf32-s390.c | 3 +++ bfd/elf64-s390.c | 3 +++ 3 files changed, 13 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c28f203..df18d95 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2012-11-05 Andreas Krebbel + + 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 * configure.in: Apply 2012-09-10 change to config.in here. diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index d6eedfa..7a9d89c 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 19926c6..2b6d9bf 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; -- 2.7.4