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.
208 lines
3.8 KiB
Text
208 lines
3.8 KiB
Text
|
|
.*
|
|
|
|
|
|
Disassembly of section \.text:
|
|
|
|
00040400 <unused1>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040404 <unused2>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040408 <unused3>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
0004040c <unused4>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040410 <unused5>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040414 <used1>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040418 <used2>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
0004041c <used3>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040420 <\.mips16\.used4>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040424 <\.mips16\.used5>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040428 <\.mips16\.used6>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
0004042c <\.mips16\.used7>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040430 <\.mips16\.used8>:
|
|
.*: [^\t]* jr ra
|
|
.*: [^\t]* nop
|
|
|
|
00040434 <foo>:
|
|
.*: [^\t]* li v0,1
|
|
.*: [^\t]* la v1,47ff0 <.*>
|
|
.*: [^\t]* sll v0,16
|
|
.*: [^\t]* addu v0,v1
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* addiu sp,-32
|
|
.*: [^\t]* sw v0,16\(sp\)
|
|
.*: [^\t]* sw ra,20\(sp\)
|
|
# 40400: unused1
|
|
.*: [^\t]* lw v0,-32744\(v0\)
|
|
.*: [^\t]* addiu v0,1025
|
|
.*: [^\t]* jalr v0
|
|
.*: [^\t]* move t9,v0
|
|
.*: [^\t]* lw v0,16\(sp\)
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* lw v0,-32740\(v0\)
|
|
.*: [^\t]* jalr v0
|
|
.*: [^\t]* move t9,v0
|
|
.*: [^\t]* lw v0,16\(sp\)
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* lw v0,-32728\(v0\)
|
|
.*: [^\t]* jalr v0
|
|
.*: [^\t]* move t9,v0
|
|
.*: [^\t]* lw v0,16\(sp\)
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* lw v0,20\(sp\)
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* addiu sp,32
|
|
#...
|
|
|
|
00040480 <bar>:
|
|
.*: [^\t]* li v0,1
|
|
.*: [^\t]* la v1,47ff0 <.*>
|
|
.*: [^\t]* sll v0,16
|
|
.*: [^\t]* addu v0,v1
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* addiu sp,-32
|
|
.*: [^\t]* sw v0,16\(sp\)
|
|
.*: [^\t]* sw ra,20\(sp\)
|
|
.*: [^\t]* lw v0,-32736\(v0\)
|
|
.*: [^\t]* jalr v0
|
|
.*: [^\t]* move t9,v0
|
|
.*: [^\t]* lw v0,16\(sp\)
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* lw v0,-32724\(v0\)
|
|
.*: [^\t]* jalr v0
|
|
.*: [^\t]* move t9,v0
|
|
.*: [^\t]* lw v0,16\(sp\)
|
|
.*: [^\t]* move gp,v0
|
|
.*: [^\t]* lw v0,20\(sp\)
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* addiu sp,32
|
|
#...
|
|
|
|
000404c0 <__fn_used1>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40414: used1
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1045
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
000404e4 <__fn_used2>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40418: used2
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1049
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
00040508 <__fn_used3>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 4041c: used3
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1053
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
0004052c <used4>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40420: used4
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1057
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
00040550 <used5>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40424: used5
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1061
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
00040574 <used6>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40428: used6
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1065
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
00040598 <used7>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 4042c: used7
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1069
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|
|
|
|
000405bc <used8>:
|
|
.*: [^\t]* lui gp,.*
|
|
.*: [^\t]* addiu gp,gp,.*
|
|
.*: [^\t]* addu gp,gp,t9
|
|
# 40430: used8
|
|
.*: [^\t]* lw v0,-32744\(gp\)
|
|
.*: [^\t]* nop
|
|
.*: [^\t]* addiu v0,v0,1073
|
|
.*: [^\t]* mfc1 a0,\$f12
|
|
.*: [^\t]* jr v0
|
|
.*: [^\t]* nop
|