diff options
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-s390.c | 3 | ||||
-rw-r--r-- | bfd/elf64-s390.c | 3 |
3 files changed, 13 insertions, 0 deletions
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 <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 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; |