blob: 8f7d85cc61de743167479e81b7a6cfcd768d266b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
Dynamic section .*
#...
0x00000003 \(PLTGOT\) 0x10201000
#...
0x70000013 \(MIPS_GOTSYM\) 0x1f
0x00000014 \(PLTREL\) REL
0x00000017 \(JMPREL\) 0x10004000
0x00000002 \(PLTRELSZ\) 224 \(bytes\)
0x70000032 \(MIPS_PLTGOT\) 0x10200000
#...
Relocation section '\.rel\.plt' .*
Offset Info Type Sym\.Value Sym\. Name
10200008 [^ ]+ R_MIPS_JUMP_SLOT 10100121 f_lo_iu
1020000c [^ ]+ R_MIPS_JUMP_SLOT 10100020 f_lo_iu_du_dc
10200010 [^ ]+ R_MIPS_JUMP_SLOT 10100030 f_lo_du_ic_dc
10200014 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_du_dc
10200018 [^ ]+ R_MIPS_JUMP_SLOT 10100151 f_lo_iu_dc
1020001c [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_du_ic
10200020 [^ ]+ R_MIPS_JUMP_SLOT 10100060 f_lo_du_ic
10200024 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_dc
10200028 [^ ]+ R_MIPS_JUMP_SLOT 10100169 f_lo_iu_ic
1020002c [^ ]+ R_MIPS_JUMP_SLOT 10100175 f_lo_ic
10200030 [^ ]+ R_MIPS_JUMP_SLOT 10100070 f_lo_du_dc
10200034 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_du
10200038 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_du_ic_dc
1020003c [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_du_ic
10200040 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_du_dc
10200044 [^ ]+ R_MIPS_JUMP_SLOT 101001a5 f_lo_dc
10200048 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_du
1020004c [^ ]+ R_MIPS_JUMP_SLOT 101000d0 f_lo_iu_du
10200050 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_dc
10200054 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_ic_dc
10200058 [^ ]+ R_MIPS_JUMP_SLOT 101000e0 f_lo_du
1020005c [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_ic_dc
10200060 [^ ]+ R_MIPS_JUMP_SLOT 00000000 f_iu_du_ic_dc
10200064 [^ ]+ R_MIPS_JUMP_SLOT 101001e1 f_lo_iu_ic_dc
10200068 [^ ]+ R_MIPS_JUMP_SLOT 10100100 f_lo_iu_du_ic
1020006c [^ ]+ R_MIPS_JUMP_SLOT 10100110 f_lo_iu_du_ic_dc
10200070 [^ ]+ R_MIPS_JUMP_SLOT 101001f9 f_lo_ic_dc
10200074 [^ ]+ R_MIPS_JUMP_SLOT 10100205 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 MIPS (as opposed to microMIPS) PLT should be used as the symbol value
# if and only if the function has a direct MIPS caller (du).
.*: 10100121 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu
.*: 10100020 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_dc
#...
.*: 10100030 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_ic_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_du_dc
.*: 10100151 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_du_ic
.*: 10100060 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_ic
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_dc
.*: 10100169 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_ic
.*: 10100175 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic
.*: 10100070 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_du
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_du_ic_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_du_ic
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_du_dc
.*: 101001a5 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_du
.*: 101000d0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_ic_dc
.*: 101000e0 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_du
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_ic_dc
.*: 00000000 0 FUNC GLOBAL DEFAULT UND f_iu_du_ic_dc
#...
.*: 101001e1 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_ic_dc
.*: 10100100 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_ic
.*: 10100110 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_iu_du_ic_dc
.*: 101001f9 0 FUNC GLOBAL DEFAULT \[MIPS PLT\] UND f_lo_ic_dc
.*: 10100205 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.
31: 10101019 0 FUNC GLOBAL DEFAULT UND f_iu_ic
32: 1010100d 0 FUNC GLOBAL DEFAULT UND f_ic
33: 10101001 0 FUNC GLOBAL DEFAULT UND f_iu
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\) 101001bd
1020100c -32740\(gp\) 101000a0
10201010 -32736\(gp\) 10100090
10201014 -32732\(gp\) 101001c9
10201018 -32728\(gp\) 10100050
1020101c -32724\(gp\) 101000f0
10201020 -32720\(gp\) 10100175
10201024 -32716\(gp\) 101001f9
10201028 -32712\(gp\) 10100060
1020102c -32708\(gp\) 10100030
10201030 -32704\(gp\) 10100169
10201034 -32700\(gp\) 101001e1
10201038 -32696\(gp\) 10100100
1020103c -32692\(gp\) 10100110
10201040 -32688\(gp\) 1010015d
10201044 -32684\(gp\) 101000c0
10201048 -32680\(gp\) 101000b0
1020104c -32676\(gp\) 10100121
10201050 -32672\(gp\) 10100151
10201054 -32668\(gp\) 101000d0
10201058 -32664\(gp\) 10100020
Global entries:
Address Access Initial Sym\.Val\. Type Ndx Name
1020105c -32660\(gp\) 10101019 10101019 FUNC UND f_iu_ic
10201060 -32656\(gp\) 1010100d 1010100d FUNC UND f_ic
10201064 -32652\(gp\) 10101001 10101001 FUNC UND f_iu
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 10100121 FUNC UND f_lo_iu
1020000c 10100000 10100020 FUNC UND f_lo_iu_du_dc
10200010 10100000 10100030 FUNC UND f_lo_du_ic_dc
10200014 10100000 00000000 FUNC UND f_du_dc
10200018 10100000 10100151 FUNC UND f_lo_iu_dc
1020001c 10100000 00000000 FUNC UND f_iu_du_ic
10200020 10100000 10100060 FUNC UND f_lo_du_ic
10200024 10100000 00000000 FUNC UND f_iu_dc
10200028 10100000 10100169 FUNC UND f_lo_iu_ic
1020002c 10100000 10100175 FUNC UND f_lo_ic
10200030 10100000 10100070 FUNC UND f_lo_du_dc
10200034 10100000 00000000 FUNC UND f_du
10200038 10100000 00000000 FUNC UND f_du_ic_dc
1020003c 10100000 00000000 FUNC UND f_du_ic
10200040 10100000 00000000 FUNC UND f_iu_du_dc
10200044 10100000 101001a5 FUNC UND f_lo_dc
10200048 10100000 00000000 FUNC UND f_iu_du
1020004c 10100000 101000d0 FUNC UND f_lo_iu_du
10200050 10100000 00000000 FUNC UND f_dc
10200054 10100000 00000000 FUNC UND f_ic_dc
10200058 10100000 101000e0 FUNC UND f_lo_du
1020005c 10100000 00000000 FUNC UND f_iu_ic_dc
10200060 10100000 00000000 FUNC UND f_iu_du_ic_dc
10200064 10100000 101001e1 FUNC UND f_lo_iu_ic_dc
10200068 10100000 10100100 FUNC UND f_lo_iu_du_ic
1020006c 10100000 10100110 FUNC UND f_lo_iu_du_ic_dc
10200070 10100000 101001f9 FUNC UND f_lo_ic_dc
10200074 10100000 10100205 FUNC UND f_lo
|