From: H.J. Lu Date: Sun, 30 Aug 2009 18:31:53 +0000 (+0000) Subject: 2009-08-30 H.J. Lu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=883c74100f30a6008941cf3751aaa05964b019d3;p=binutils-gdb.git 2009-08-30 H.J. Lu * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert the accidental checkin. * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likwise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9ace58eb901..b29d8504976 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2009-08-30 H.J. Lu + + * 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 PR ld/10569 diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 462e0e854f4..c8e018a6cbd 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 6db647207b4..de6f6ecd242 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)