mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
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.
13 lines
362 B
Makefile
13 lines
362 B
Makefile
#as: -mips2 -mvxworks-pic
|
|
#source: vxworks-forced-local-1.s
|
|
#ld: -shared -Tvxworks1.ld --version-script vxworks-forced-local-1.ver
|
|
#readelf: --relocs
|
|
|
|
Relocation section '\.rela\.dyn' .*
|
|
.*
|
|
0008140c 00000002 R_MIPS_32 *00080810
|
|
00081410 00000002 R_MIPS_32 *00080814
|
|
00081414 00000002 R_MIPS_32 *00080818
|
|
00081418 00000302 R_MIPS_32 *00000000 *bar \+ 0
|
|
#pass
|