From 883c74100f30a6008941cf3751aaa05964b019d3 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 30 Aug 2009 18:31:53 +0000 Subject: [PATCH] 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. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-i386.c | 17 ----------------- bfd/elf64-x86-64.c | 17 ----------------- 3 files changed, 6 insertions(+), 34 deletions(-) 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) -- 2.30.2