Line 2081... |
Line 2081... |
struct elf_dyn_relocs *p;
|
struct elf_dyn_relocs *p;
|
|
|
if (h->root.type == bfd_link_hash_indirect)
|
if (h->root.type == bfd_link_hash_indirect)
|
return TRUE;
|
return TRUE;
|
|
|
if (h->root.type == bfd_link_hash_warning)
|
|
/* When warning symbols are created, they **replace** the "real"
|
|
entry in the hash table, thus we never get to see the real
|
|
symbol in a hash traversal. So look at it now. */
|
|
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
|
eh = (struct elf_i386_link_hash_entry *) h;
|
eh = (struct elf_i386_link_hash_entry *) h;
|
|
|
info = (struct bfd_link_info *) inf;
|
info = (struct bfd_link_info *) inf;
|
htab = elf_i386_hash_table (info);
|
htab = elf_i386_hash_table (info);
|
if (htab == NULL)
|
if (htab == NULL)
|
Line 2381... |
Line 2376... |
elf_i386_readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf)
|
elf_i386_readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf)
|
{
|
{
|
struct elf_i386_link_hash_entry *eh;
|
struct elf_i386_link_hash_entry *eh;
|
struct elf_dyn_relocs *p;
|
struct elf_dyn_relocs *p;
|
|
|
if (h->root.type == bfd_link_hash_warning)
|
|
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
|
|
|
/* Skip local IFUNC symbols. */
|
/* Skip local IFUNC symbols. */
|
if (h->forced_local && h->type == STT_GNU_IFUNC)
|
if (h->forced_local && h->type == STT_GNU_IFUNC)
|
return TRUE;
|
return TRUE;
|
|
|
eh = (struct elf_i386_link_hash_entry *) h;
|
eh = (struct elf_i386_link_hash_entry *) h;
|