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 c28f203a09c..df18d95717e 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 d6eedfa7b53..7a9d89cea37 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 19926c69f2d..2b6d9bf1930 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;