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