aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-08-30 18:31:53 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-08-30 18:31:53 +0000
commit883c74100f30a6008941cf3751aaa05964b019d3 (patch)
tree9cc91bfd6877f4d95504f5d1ea413c948f804c37
parent3021a723350d1c1bc655cca523b645d65f74bdb4 (diff)
downloadgdb-883c74100f30a6008941cf3751aaa05964b019d3.zip
gdb-883c74100f30a6008941cf3751aaa05964b019d3.tar.gz
gdb-883c74100f30a6008941cf3751aaa05964b019d3.tar.bz2
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-i386.c17
-rw-r--r--bfd/elf64-x86-64.c17
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)