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.
This commit is contained in:
parent
3021a72335
commit
883c74100f
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user