old-cross-binutils/ld/testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-only.rd
Richard Sandiford 690f47bf98 ld/testsuite/
* lib/ld-lib.exp (default_ld_compile): Add a -I option for the source
	directory.
	* ld-mips-elf/compressed-plt-1.ld, ld-mips-elf/compressed-plt-1.s,
	ld-mips-elf/compressed-plt-1-dyn.s, ld-mips-elf/compressed-plt-1a.s,
	ld-mips-elf/compressed-plt-1b.s, ld-mips-elf/compressed-plt-1c.s,
	ld-mips-elf/compressed-plt-1d.s, ld-mips-elf/compressed-plt-1e.s,
	ld-mips-elf/compressed-plt-1-o32-se.rd,
	ld-mips-elf/compressed-plt-1-o32-se.od,
	ld-mips-elf/compressed-plt-1-o32-mips16-only.rd,
	ld-mips-elf/compressed-plt-1-o32-mips16-only.od,
	ld-mips-elf/compressed-plt-1-o32-umips-only.rd,
	ld-mips-elf/compressed-plt-1-o32-umips-only.od,
	ld-mips-elf/compressed-plt-1-o32-mips16.rd,
	ld-mips-elf/compressed-plt-1-o32-mips16.od,
	ld-mips-elf/compressed-plt-1-o32-mips16-got.rd,
	ld-mips-elf/compressed-plt-1-o32-mips16-got.od,
	ld-mips-elf/compressed-plt-1-o32-mips16-word.rd,
	ld-mips-elf/compressed-plt-1-o32-mips16-word.od,
	ld-mips-elf/compressed-plt-1-o32-umips.rd,
	ld-mips-elf/compressed-plt-1-o32-umips.od,
	ld-mips-elf/compressed-plt-1-o32-umips-got.rd,
	ld-mips-elf/compressed-plt-1-o32-umips-got.od,
	ld-mips-elf/compressed-plt-1-o32-umips-word.rd,
	ld-mips-elf/compressed-plt-1-o32-umips-word.od,
	ld-mips-elf/compressed-plt-1-n32-mips16.rd,
	ld-mips-elf/compressed-plt-1-n32-mips16.od,
	ld-mips-elf/compressed-plt-1-n32-umips.rd,
	ld-mips-elf/compressed-plt-1-n32-umips.od: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
2013-10-13 10:17:20 +00:00

82 lines
3 KiB
R

Dynamic section .*
#...
0x00000003 \(PLTGOT\) 0x10201000
#...
0x70000013 \(MIPS_GOTSYM\) 0x9
0x00000014 \(PLTREL\) REL
0x00000017 \(JMPREL\) 0x10004000
0x00000002 \(PLTRELSZ\) 48 \(bytes\)
0x70000032 \(MIPS_PLTGOT\) 0x10200000
#...
Relocation section '\.rel\.plt' .*
Offset Info Type Sym\.Value Sym\. Name
10200008 [^ ]+ R_MIPS_JUMP_SLOT 10100020 f_lo_ic
1020000c [^ ]+ R_MIPS_JUMP_SLOT 10100041 f_lo_dc
10200010 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_dc
10200014 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_ic_dc
10200018 [^ ]+ R_MIPS_JUMP_SLOT 10100071 f_lo_ic_dc
1020001c [^ ]+ R_MIPS_JUMP_SLOT 10100030 f_lo
Symbol table '\.dynsym' .*
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
# _lo symbols have their address taken, so their PLT symbols need to have
# a nonzero value. They must also have STO_MIPS_PLT in order to distinguish
# them from old-style lazy-binding stubs. Non-_lo symbols are only called,
# so their PLT symbols should have a zero value and no STO_MIPS_PLT annotation.
#
# A MIPS16 PLT should only be used as the symbol value if the function has
# a direct MIPS16 caller (dc) and no direct MIPS caller (du).
#...
.*: 10100020 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic
.*: 10100041 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_ic_dc
#...
.*: 10100071 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic_dc
.*: 10100030 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo
# The start of the GOT-mapped area. This should only contain functions that
# are accessed purely via the traditional psABI scheme. The symbol value
# is the address of the lazy-binding stub.
9: 10101000 0 FUNC GLOBAL DEFAULT UND f_ic
Symbol table '\.symtab' .*
#...
Primary GOT:
Canonical gp value: 10208ff0
Reserved entries:
Address Access Initial Purpose
10201000 -32752\(gp\) 00000000 Lazy resolver
10201004 -32748\(gp\) 80000000 Module pointer \(GNU extension\)
# See the disassembly output for the meaning of each entry.
Local entries:
Address Access Initial
10201008 -32744\(gp\) 10100061
1020100c -32740\(gp\) 10100020
10201010 -32736\(gp\) 10100071
Global entries:
Address Access Initial Sym\.Val\. Type Ndx Name
10201014 -32732\(gp\) 10101000 10101000 FUNC UND f_ic
PLT GOT:
Reserved entries:
Address Initial Purpose
10200000 00000000 PLT lazy resolver
10200004 00000000 Module pointer
Entries:
Address Initial Sym\.Val\. Type Ndx Name
10200008 10100000 10100020 FUNC UND f_lo_ic
1020000c 10100000 10100041 FUNC UND f_lo_dc
10200010 10100000 00000000 FUNC UND f_dc
10200014 10100000 00000000 FUNC UND f_ic_dc
10200018 10100000 10100071 FUNC UND f_lo_ic_dc
1020001c 10100000 10100030 FUNC UND f_lo