PR ld/12718

* elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
	creating ifunc sections.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
This commit is contained in:
Alan Modra 2011-05-01 12:04:10 +00:00
parent dee71c492f
commit 9d4057ee3b
3 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2011-05-01 Alan Modra <amodra@gmail.com>
PR ld/12718
* elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
creating ifunc sections.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2011-04-30 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter

View File

@ -1376,7 +1376,9 @@ elf_i386_check_relocs (bfd *abfd,
case R_386_PLT32:
case R_386_GOT32:
case R_386_GOTOFF:
if (!_bfd_elf_create_ifunc_sections (abfd, info))
if (htab->elf.dynobj == NULL)
htab->elf.dynobj = abfd;
if (!_bfd_elf_create_ifunc_sections (htab->elf.dynobj, info))
return FALSE;
break;
}

View File

@ -1261,7 +1261,9 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_X86_64_PLT32:
case R_X86_64_GOTPCREL:
case R_X86_64_GOTPCREL64:
if (!_bfd_elf_create_ifunc_sections (abfd, info))
if (htab->elf.dynobj == NULL)
htab->elf.dynobj = abfd;
if (!_bfd_elf_create_ifunc_sections (htab->elf.dynobj, info))
return FALSE;
break;
}