13db6b44ea
* elfxx-mips.c (mips_got_page_ref): New structure. (mips_got_page_entry): Use a section rather than a (bfd, symndx) pair to represent the anchor point. (mips_got_info): Add a got_page_refs field. (mips_elf_link_hash_table): Add a sym_cache field. (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions. (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for new anchor representation. (mips_elf_create_got_info): Create got_page_refs rather than got_page_entries. (mips_elf_record_got_page_ref): New function. (mips_elf_pages_for_range): Move further down file. (mips_elf_record_got_page_entry): Likewise. Take a got as argument. Use a section rather than a (bfd, symndx) pair to represent the anchor point. (mips_elf_resolve_got_page_ref): New function. (mips_elf_resolve_final_got_entries): Use it to populate got_page_entries. (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref rather than mips_elf_record_got_page_entry. Only nullify h afterwards. (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries earlier. ld/testsuite/ * ld-mips-elf/mips16-pic-2.dd, ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries. * ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s, ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got, ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got, ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d, ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s, ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got, ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s, ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s, ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d, ld-mips-elf/got-page-7.got: New tests. * ld-mips-elf/mips-elf.exp: Run them.
23 lines
714 B
GDScript3
23 lines
714 B
GDScript3
|
|
Primary GOT:
|
|
Canonical gp value: 00057ff0
|
|
|
|
Reserved entries:
|
|
Address Access Initial Purpose
|
|
00050000 -32752\(gp\) 00000000 Lazy resolver
|
|
00050004 -32748\(gp\) 80000000 Module pointer \(GNU extension\)
|
|
|
|
Local entries:
|
|
Address Access Initial
|
|
00050008 -32744\(gp\) 00040000
|
|
0005000c -32740\(gp\) 00040409
|
|
00050010 -32736\(gp\) 0004040d
|
|
00050014 -32732\(gp\) 00000000
|
|
|
|
Global entries:
|
|
Address Access Initial Sym\.Val\. Type Ndx Name
|
|
00050018 -32728\(gp\) 00040574 00040574 FUNC 6 used6
|
|
0005001c -32724\(gp\) 00040598 00040598 FUNC 6 used7
|
|
00050020 -32720\(gp\) 00040550 00040550 FUNC 6 used5
|
|
00050024 -32716\(gp\) 0004052c 0004052c FUNC 6 used4
|
|
|