1 2Dynamic section .* 3#... 4 0x00000003 \(PLTGOT\) 0x10202000 5#... 6 0x70000013 \(MIPS_GOTSYM\) 0x1f 7 0x00000014 \(PLTREL\) REL 8 0x00000017 \(JMPREL\) 0x10005000 9 0x00000002 \(PLTRELSZ\) 224 \(bytes\) 10 0x70000032 \(MIPS_PLTGOT\) 0x10200000 11#... 12Relocation section '\.rel\.dyn' .* 13# All symbols are referenced by a .word in the .data section, so pointer 14# equality matters. If a PLT is needed to satisfy a direct call or %lo 15# relocation, the symbol should have a nonzero value and there should be 16# no dynamic relocations against it. The only relocations here are for 17# undefined 0-value symbols. Note that unlike x86, we do not create a PLT 18# for the uncalled symbol 'f' in order to maintain backward compatibility 19# with pre-PLT ld.sos. 20 Offset Info Type Sym\.Value Sym\. Name 2100000000 00000000 R_MIPS_NONE 2210201028 00001f03 R_MIPS_REL32 00000000 f_iu_ic 2310201008 00002003 R_MIPS_REL32 00000000 f_ic 2410201020 00002103 R_MIPS_REL32 00000000 f_iu 2510201000 00002203 R_MIPS_REL32 00000000 f 26 27Relocation section '\.rel\.plt' .* 28 Offset Info Type Sym\.Value Sym\. Name 2910200008 [^ ]+ R_MIPS_JUMP_SLOT 10100121 f_lo_iu 301020000c [^ ]+ R_MIPS_JUMP_SLOT 10100020 f_lo_iu_du_dc 3110200010 [^ ]+ R_MIPS_JUMP_SLOT 10100030 f_lo_du_ic_dc 3210200014 [^ ]+ R_MIPS_JUMP_SLOT 10100040 f_du_dc 3310200018 [^ ]+ R_MIPS_JUMP_SLOT 10100151 f_lo_iu_dc 341020001c [^ ]+ R_MIPS_JUMP_SLOT 10100050 f_iu_du_ic 3510200020 [^ ]+ R_MIPS_JUMP_SLOT 10100060 f_lo_du_ic 3610200024 [^ ]+ R_MIPS_JUMP_SLOT 1010015d f_iu_dc 3710200028 [^ ]+ R_MIPS_JUMP_SLOT 10100169 f_lo_iu_ic 381020002c [^ ]+ R_MIPS_JUMP_SLOT 10100175 f_lo_ic 3910200030 [^ ]+ R_MIPS_JUMP_SLOT 10100070 f_lo_du_dc 4010200034 [^ ]+ R_MIPS_JUMP_SLOT 10100080 f_du 4110200038 [^ ]+ R_MIPS_JUMP_SLOT 10100090 f_du_ic_dc 421020003c [^ ]+ R_MIPS_JUMP_SLOT 101000a0 f_du_ic 4310200040 [^ ]+ R_MIPS_JUMP_SLOT 101000b0 f_iu_du_dc 4410200044 [^ ]+ R_MIPS_JUMP_SLOT 101001a5 f_lo_dc 4510200048 [^ ]+ R_MIPS_JUMP_SLOT 101000c0 f_iu_du 461020004c [^ ]+ R_MIPS_JUMP_SLOT 101000d0 f_lo_iu_du 4710200050 [^ ]+ R_MIPS_JUMP_SLOT 101001b1 f_dc 4810200054 [^ ]+ R_MIPS_JUMP_SLOT 101001bd f_ic_dc 4910200058 [^ ]+ R_MIPS_JUMP_SLOT 101000e0 f_lo_du 501020005c [^ ]+ R_MIPS_JUMP_SLOT 101001c9 f_iu_ic_dc 5110200060 [^ ]+ R_MIPS_JUMP_SLOT 101000f0 f_iu_du_ic_dc 5210200064 [^ ]+ R_MIPS_JUMP_SLOT 101001e1 f_lo_iu_ic_dc 5310200068 [^ ]+ R_MIPS_JUMP_SLOT 10100100 f_lo_iu_du_ic 541020006c [^ ]+ R_MIPS_JUMP_SLOT 10100110 f_lo_iu_du_ic_dc 5510200070 [^ ]+ R_MIPS_JUMP_SLOT 101001f9 f_lo_ic_dc 5610200074 [^ ]+ R_MIPS_JUMP_SLOT 10100205 f_lo 57 58Symbol table '\.dynsym' .* 59 Num: Value Size Type Bind Vis Ndx Name 60 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 61# All symbols have their address taken, so PLT symbols need to have a nonzero 62# value. They must also have STO_MIPS_PLT in order to distinguish them from 63# old-style lazy-binding stubs). 64# 65# A MIPS (as opposed to microMIPS) PLT should be used as the symbol value 66# if and only if the function has a direct MIPS caller (du). 67 .*: 10100121 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu 68 .*: 10100020 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_dc 69#... 70 .*: 10100030 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_ic_dc 71 .*: 10100040 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_du_dc 72 .*: 10100151 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_dc 73 .*: 10100050 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_du_ic 74 .*: 10100060 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_ic 75 .*: 1010015d 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_dc 76 .*: 10100169 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_ic 77 .*: 10100175 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic 78 .*: 10100070 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_dc 79 .*: 10100080 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_du 80 .*: 10100090 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_du_ic_dc 81 .*: 101000a0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_du_ic 82 .*: 101000b0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_du_dc 83 .*: 101001a5 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_dc 84 .*: 101000c0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_du 85 .*: 101000d0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du 86 .*: 101001b1 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_dc 87 .*: 101001bd 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_ic_dc 88 .*: 101000e0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du 89 .*: 101001c9 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_ic_dc 90 .*: 101000f0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_iu_du_ic_dc 91#... 92 .*: 101001e1 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_ic_dc 93 .*: 10100100 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_ic 94 .*: 10100110 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_ic_dc 95 .*: 101001f9 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic_dc 96 .*: 10100205 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo 97# The start of the GOT-mapped area. This should only contain functions that 98# are accessed purely via the traditional psABI scheme. Since the functions 99# have their addresses taken, they cannot use a lazy-binding stub. 100# The symbol values are therefore all zero. 101 31: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_ic 102 32: 00000000 0 FUNC GLOBAL DEFAULT UND f_ic 103 33: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu 104 34: 00000000 0 FUNC GLOBAL DEFAULT UND f 105 106Symbol table '\.symtab' .* 107#... 108Hex dump of section '\.data': 109 0x10201000 (00000000|00000000) (101001b1|b1011010) (00000000|00000000) (101001bd|bd011010) .* 110 0x10201010 (10100080|80001010) (10100040|40001010) (101000a0|a0001010) (10100090|90001010) .* 111 0x10201020 (00000000|00000000) (1010015d|5d011010) (00000000|00000000) (101001c9|c9011010) .* 112 0x10201030 (101000c0|c0001010) (101000b0|b0001010) (10100050|50001010) (101000f0|f0001010) .* 113 0x10201040 (10100205|05021010) (101001a5|a5011010) (10100175|75011010) (101001f9|f9011010) .* 114 0x10201050 (101000e0|e0001010) (10100070|70001010) (10100060|60001010) (10100030|30001010) .* 115 0x10201060 (10100121|21011010) (10100151|51011010) (10100169|69011010) (101001e1|e1011010) .* 116 0x10201070 (101000d0|d0001010) (10100020|20001010) (10100100|00011010) (10100110|10011010) .* 117 118 119Primary GOT: 120 Canonical gp value: 10209ff0 121 122 Reserved entries: 123 Address Access Initial Purpose 124 10202000 -32752\(gp\) 00000000 Lazy resolver 125 10202004 -32748\(gp\) 80000000 Module pointer \(GNU extension\) 126 127# See the disassembly output for the meaning of each entry. 128 Local entries: 129 Address Access Initial 130 10202008 -32744\(gp\) 101001bd 131 1020200c -32740\(gp\) 101000a0 132 10202010 -32736\(gp\) 10100090 133 10202014 -32732\(gp\) 101001c9 134 10202018 -32728\(gp\) 10100050 135 1020201c -32724\(gp\) 101000f0 136 10202020 -32720\(gp\) 10100175 137 10202024 -32716\(gp\) 101001f9 138 10202028 -32712\(gp\) 10100060 139 1020202c -32708\(gp\) 10100030 140 10202030 -32704\(gp\) 10100169 141 10202034 -32700\(gp\) 101001e1 142 10202038 -32696\(gp\) 10100100 143 1020203c -32692\(gp\) 10100110 144 10202040 -32688\(gp\) 1010015d 145 10202044 -32684\(gp\) 101000c0 146 10202048 -32680\(gp\) 101000b0 147 1020204c -32676\(gp\) 10100121 148 10202050 -32672\(gp\) 10100151 149 10202054 -32668\(gp\) 101000d0 150 10202058 -32664\(gp\) 10100020 151 152 Global entries: 153 Address Access Initial Sym\.Val\. Type Ndx Name 154 1020205c -32660\(gp\) 00000000 00000000 FUNC UND f_iu_ic 155 10202060 -32656\(gp\) 00000000 00000000 FUNC UND f_ic 156 10202064 -32652\(gp\) 00000000 00000000 FUNC UND f_iu 157 10202068 -32648\(gp\) 00000000 00000000 FUNC UND f 158 159 160PLT GOT: 161 162 Reserved entries: 163 Address Initial Purpose 164 10200000 00000000 PLT lazy resolver 165 10200004 00000000 Module pointer 166 167 Entries: 168 Address Initial Sym\.Val\. Type Ndx Name 169 10200008 10100000 10100121 FUNC UND f_lo_iu 170 1020000c 10100000 10100020 FUNC UND f_lo_iu_du_dc 171 10200010 10100000 10100030 FUNC UND f_lo_du_ic_dc 172 10200014 10100000 10100040 FUNC UND f_du_dc 173 10200018 10100000 10100151 FUNC UND f_lo_iu_dc 174 1020001c 10100000 10100050 FUNC UND f_iu_du_ic 175 10200020 10100000 10100060 FUNC UND f_lo_du_ic 176 10200024 10100000 1010015d FUNC UND f_iu_dc 177 10200028 10100000 10100169 FUNC UND f_lo_iu_ic 178 1020002c 10100000 10100175 FUNC UND f_lo_ic 179 10200030 10100000 10100070 FUNC UND f_lo_du_dc 180 10200034 10100000 10100080 FUNC UND f_du 181 10200038 10100000 10100090 FUNC UND f_du_ic_dc 182 1020003c 10100000 101000a0 FUNC UND f_du_ic 183 10200040 10100000 101000b0 FUNC UND f_iu_du_dc 184 10200044 10100000 101001a5 FUNC UND f_lo_dc 185 10200048 10100000 101000c0 FUNC UND f_iu_du 186 1020004c 10100000 101000d0 FUNC UND f_lo_iu_du 187 10200050 10100000 101001b1 FUNC UND f_dc 188 10200054 10100000 101001bd FUNC UND f_ic_dc 189 10200058 10100000 101000e0 FUNC UND f_lo_du 190 1020005c 10100000 101001c9 FUNC UND f_iu_ic_dc 191 10200060 10100000 101000f0 FUNC UND f_iu_du_ic_dc 192 10200064 10100000 101001e1 FUNC UND f_lo_iu_ic_dc 193 10200068 10100000 10100100 FUNC UND f_lo_iu_du_ic 194 1020006c 10100000 10100110 FUNC UND f_lo_iu_du_ic_dc 195 10200070 10100000 101001f9 FUNC UND f_lo_ic_dc 196 10200074 10100000 10100205 FUNC UND f_lo 197 198 199