83 lines
3.0 KiB
R
83 lines
3.0 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
|
|
|
|
|