* elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offset
to 1 rather than 0 to avoid confusing copy_indirect_symbol. (mips_elf_sort_hash_table_f): Compare got.offset against 1.
This commit is contained in:
parent
b13c7b49d6
commit
3a6b859720
@ -1,5 +1,9 @@
|
||||
2001-10-04 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offset
|
||||
to 1 rather than 0 to avoid confusing copy_indirect_symbol.
|
||||
(mips_elf_sort_hash_table_f): Compare got.offset against 1.
|
||||
|
||||
* Makefile.am (BFD_H_DEPS): Add symcat.h. Ensure everything
|
||||
depends on $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS), not just those
|
||||
backends we configure. Run "make dep-am".
|
||||
|
@ -5502,14 +5502,15 @@ mips_elf_record_global_got_symbol (h, info, g)
|
||||
&& !bfd_elf32_link_record_dynamic_symbol (info, h))
|
||||
return false;
|
||||
|
||||
/* If we've already marked this entry as need GOT space, we don't
|
||||
/* If we've already marked this entry as needing GOT space, we don't
|
||||
need to do it again. */
|
||||
if (h->got.offset != (bfd_vma) - 1)
|
||||
if (h->got.offset != (bfd_vma) -1)
|
||||
return true;
|
||||
|
||||
/* By setting this to a value other than -1, we are indicating that
|
||||
there needs to be a GOT entry for H. */
|
||||
h->got.offset = 0;
|
||||
there needs to be a GOT entry for H. Avoid using zero, as the
|
||||
generic ELF copy_indirect_symbol tests for <= 0. */
|
||||
h->got.offset = 1;
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -5547,7 +5548,7 @@ mips_elf_sort_hash_table_f (h, data)
|
||||
if (h->root.dynindx == -1)
|
||||
return true;
|
||||
|
||||
if (h->root.got.offset != 0)
|
||||
if (h->root.got.offset != 1)
|
||||
h->root.dynindx = hsd->max_non_got_dynindx++;
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user