2012-11-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Mon, 5 Nov 2012 12:31:08 +0000 (12:31 +0000)
committerAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Mon, 5 Nov 2012 12:31:08 +0000 (12:31 +0000)
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
bfd/elf32-s390.c
bfd/elf64-s390.c

index c28f203..df18d95 100644 (file)
@@ -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.
index d6eedfa..7a9d89c 100644 (file)
@@ -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;
 
index 19926c6..2b6d9bf 100644 (file)
@@ -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;