diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-i386.c | 17 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 17 |
3 files changed, 6 insertions, 34 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9ace58e..b29d850 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2009-08-30 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert the + accidental checkin. + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likwise. + 2009-08-30 Alan Modra <amodra@bigpond.net.au> PR ld/10569 diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 462e0e8..c8e018a 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -4045,23 +4045,6 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd, { struct elf_i386_link_hash_table *htab; - /* PR 10433: STT_GNU_IFUNC symbols must go through the PLT - only when they are referenced, not when they are defined. */ - if (h->type == STT_GNU_IFUNC - && h->def_regular - && ! h->ref_regular - && ! info->relocatable) - { - if (! ((h->dynindx != -1 - || h->forced_local) - && ((info->shared - && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak)) - || ! h->forced_local) - && elf_hash_table (info)->dynamic_sections_created)) - return TRUE; - } - htab = elf_i386_hash_table (info); if (h->plt.offset != (bfd_vma) -1) diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 6db6472..de6f6ec 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -3716,23 +3716,6 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd, { struct elf64_x86_64_link_hash_table *htab; - /* PR 10433: STT_GNU_IFUNC symbols must go through the PLT - only when they are referenced, not when they are defined. */ - if (h->type == STT_GNU_IFUNC - && h->def_regular - && ! h->ref_regular - && ! info->relocatable) - { - if (! ((h->dynindx != -1 - || h->forced_local) - && ((info->shared - && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak)) - || ! h->forced_local) - && elf_hash_table (info)->dynamic_sections_created)) - return TRUE; - } - htab = elf64_x86_64_hash_table (info); if (h->plt.offset != (bfd_vma) -1) |