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;