8275b357ad
* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes. (mips_elf_record_global_got_symbol): Increment local_gotno for each forced-local symbol. (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to mips_elf_record_global_got_symbol for VxWorks too. (_bfd_mips_elf_always_size_sections): Set computed_got_sizes to true after computing the GOT size. (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever got.offset == 1. Only adjust global_gotno if computed_got_sizes. For VxWorks, add a local entry when hiding a symbol that needs a plt but has not been marked as needing a global got entry. (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to false. ld/testsuite/ * ld-mips-elf/vxworks-forced-local-1.d, * ld-mips-elf/vxworks-forced-local-1.s, * ld-mips-elf/vxworks-forced-local-1.ver: New test. * ld-mips-elf/mips-elf.exp: Run it. * ld-mips-elf/tlsdyn-o32-2.d: Adjust for removal of unnecessary local GOT entry. * ld-mips-elf/tlsdyn-o32-2.got: Likewise. * ld-mips-elf/tlsdyn-o32-3.d: Likewise. * ld-mips-elf/tlsdyn-o32-3.got: Likewise. * ld-mips-elf/vxworks1-lib.dd: Likewise. * ld-mips-elf/vxworks1-lib.rd: Likewise. |
||
---|---|---|
.. | ||
config | ||
ld-alpha | ||
ld-arm | ||
ld-auto-import | ||
ld-bootstrap | ||
ld-cdtest | ||
ld-checks | ||
ld-cris | ||
ld-crx | ||
ld-cygwin | ||
ld-d10v | ||
ld-discard | ||
ld-elf | ||
ld-elfcomm | ||
ld-elfvers | ||
ld-elfvsb | ||
ld-elfweak | ||
ld-fastcall | ||
ld-frv | ||
ld-h8300 | ||
ld-i386 | ||
ld-ia64 | ||
ld-libs | ||
ld-linkonce | ||
ld-m68hc11 | ||
ld-m68k | ||
ld-maxq | ||
ld-mep | ||
ld-mips-elf | ||
ld-mmix | ||
ld-pe | ||
ld-pie | ||
ld-powerpc | ||
ld-s390 | ||
ld-scripts | ||
ld-selective | ||
ld-sh | ||
ld-shared | ||
ld-sparc | ||
ld-spu | ||
ld-srec | ||
ld-undefined | ||
ld-v850 | ||
ld-versados | ||
ld-vxworks | ||
ld-x86-64 | ||
ld-xc16x | ||
ld-xstormy16 | ||
ld-xtensa | ||
lib | ||
ChangeLog | ||
ChangeLog-2004 | ||
ChangeLog-2005 | ||
ChangeLog-2006 | ||
ChangeLog-9303 |