1 2 Dynamic section .* 3 #... 4 0x00000003 \(PLTGOT\) 0x10201000 5 #... 6 0x70000013 \(MIPS_GOTSYM\) 0x9 7 0x00000014 \(PLTREL\) REL 8 0x00000017 \(JMPREL\) 0x10004000 9 0x00000002 \(PLTRELSZ\) 48 \(bytes\) 10 0x70000032 \(MIPS_PLTGOT\) 0x10200000 11 #... 12 Relocation section '\.rel\.plt' .* 13 Offset Info Type Sym\.Value Sym\. Name 14 10200008 [^ ]+ R_MIPS_JUMP_SLOT 10100020 f_lo_ic 15 1020000c [^ ]+ R_MIPS_JUMP_SLOT 10100041 f_lo_dc 16 10200010 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_dc 17 10200014 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_ic_dc 18 10200018 [^ ]+ R_MIPS_JUMP_SLOT 10100071 f_lo_ic_dc 19 1020001c [^ ]+ R_MIPS_JUMP_SLOT 10100030 f_lo 20 21 Symbol table '\.dynsym' .* 22 Num: Value Size Type Bind Vis Ndx Name 23 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 24 # _lo symbols have their address taken, so their PLT symbols need to have 25 # a nonzero value. They must also have STO_MIPS_PLT in order to distinguish 26 # them from old-style lazy-binding stubs. Non-_lo symbols are only called, 27 # so their PLT symbols should have a zero value and no STO_MIPS_PLT annotation. 28 # 29 # A MIPS16 PLT should only be used as the symbol value if the function has 30 # a direct MIPS16 caller (dc) and no direct MIPS caller (du). 31 #... 32 .*: 10100020 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic 33 .*: 10100041 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_dc 34 .*: 00000000 0 FUNC GLOBAL DEFAULT UND f_dc 35 .*: 00000000 0 FUNC GLOBAL DEFAULT UND f_ic_dc 36 #... 37 .*: 10100071 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic_dc 38 .*: 10100030 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo 39 # The start of the GOT-mapped area. This should only contain functions that 40 # are accessed purely via the traditional psABI scheme. The symbol value 41 # is the address of the lazy-binding stub. 42 9: 10101000 0 FUNC GLOBAL DEFAULT UND f_ic 43 44 Symbol table '\.symtab' .* 45 #... 46 Primary GOT: 47 Canonical gp value: 10208ff0 48 49 Reserved entries: 50 Address Access Initial Purpose 51 10201000 -32752\(gp\) 00000000 Lazy resolver 52 10201004 -32748\(gp\) 80000000 Module pointer \(GNU extension\) 53 54 # See the disassembly output for the meaning of each entry. 55 Local entries: 56 Address Access Initial 57 10201008 -32744\(gp\) 10100061 58 1020100c -32740\(gp\) 10100020 59 10201010 -32736\(gp\) 10100071 60 61 Global entries: 62 Address Access Initial Sym\.Val\. Type Ndx Name 63 10201014 -32732\(gp\) 10101000 10101000 FUNC UND f_ic 64 65 66 PLT GOT: 67 68 Reserved entries: 69 Address Initial Purpose 70 10200000 00000000 PLT lazy resolver 71 10200004 00000000 Module pointer 72 73 Entries: 74 Address Initial Sym\.Val\. Type Ndx Name 75 10200008 10100000 10100020 FUNC UND f_lo_ic 76 1020000c 10100000 10100041 FUNC UND f_lo_dc 77 10200010 10100000 00000000 FUNC UND f_dc 78 10200014 10100000 00000000 FUNC UND f_ic_dc 79 10200018 10100000 10100071 FUNC UND f_lo_ic_dc 80 1020001c 10100000 10100030 FUNC UND f_lo 81 82 83