binutils-gdb/ld/testsuite/ld-mips-elf/mips16-pic-2.dd
Richard Sandiford 13db6b44ea bfd/
* 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.
2013-02-13 14:08:58 +00:00

209 lines
3.8 KiB
Plaintext

.*
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