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
171
172
173
174
175
|
.*
Disassembly of section \.iplt:
00009000 <\.iplt>:
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
9000: 4778 bx pc
9002: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
9004: e28fc600 add ip, pc, #0
9008: e28cca08 add ip, ip, #32768 ; 0x8000
900c: e5bcf000 ldr pc, \[ip, #0\]!
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
9010: e28fc600 add ip, pc, #0
9014: e28cca07 add ip, ip, #28672 ; 0x7000
9018: e5bcfff8 ldr pc, \[ip, #4088\]! ; 0xff8
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
901c: 4778 bx pc
901e: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
9020: e28fc600 add ip, pc, #0
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
902c: e28fc600 add ip, pc, #0
9030: e28cca07 add ip, ip, #28672 ; 0x7000
9034: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4
Disassembly of section \.text:
0000a000 <f1>:
a000: e1a0f00e mov pc, lr
0000a004 <f2>:
a004: 46f7 mov pc, lr
\.\.\.
0000a008 <f3>:
a008: e1a0f00e mov pc, lr
0000a00c <f4>:
a00c: 46f7 mov pc, lr
\.\.\.
0000a010 <_start>:
a010: eb0017fa bl 10000 <foo>
a014: ea0017f9 b 10000 <foo>
a018: 0a0017f8 beq 10000 <foo>
a01c: e59f4000 ldr r4, \[pc\] ; a024 <_start\+0x14>
a020: e59f4000 ldr r4, \[pc\] ; a028 <_start\+0x18>
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a024: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a028: 00006ff4 \.word 0x00006ff4
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a02c: ebfffbfe bl 902c <__irel_end\+0x100c>
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a030: eafffbfd b 902c <__irel_end\+0x100c>
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a034: 0afffbfc beq 902c <__irel_end\+0x100c>
a038: e59f4000 ldr r4, \[pc\] ; a040 <_start\+0x30>
a03c: e59f4000 ldr r4, \[pc\] ; a044 <_start\+0x34>
#------------------------------------------------------------------------------
#------ GP-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a040: 00000018 \.word 0x00000018
#------------------------------------------------------------------------------
#------ PC-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a044: 00006fd4 \.word 0x00006fd4
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a048: ebfffbf0 bl 9010 <__irel_end\+0xff0>
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a04c: eafffbef b 9010 <__irel_end\+0xff0>
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a050: 0afffbee beq 9010 <__irel_end\+0xff0>
a054: e59f4000 ldr r4, \[pc\] ; a05c <_start\+0x4c>
a058: e59f4000 ldr r4, \[pc\] ; a060 <_start\+0x50>
#------------------------------------------------------------------------------
#------ GP-relative offset of f2's .igot.plt entry
#------------------------------------------------------------------------------
a05c: 00000010 \.word 0x00000010
#------------------------------------------------------------------------------
#------ PC-relative offset of f2's .igot.plt entry
#------------------------------------------------------------------------------
a060: 00006fb0 \.word 0x00006fb0
0000a064 <_thumb>:
a064: f005 ffcc bl 10000 <foo>
a068: f005 bfca b\.w 10000 <foo>
a06c: f005 87c8 beq\.w 10000 <foo>
a070: 4c00 ldr r4, \[pc, #0\] ; \(a074 <_thumb\+0x10>\)
a072: 4c01 ldr r4, \[pc, #4\] ; \(a078 <_thumb\+0x14>\)
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a074: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a078: 00006fa4 \.word 0x00006fa4
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
a07c: f7fe efc2 blx 9004 <__irel_end\+0xfe4>
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
a080: f7fe bfbe b\.w 9000 <__irel_end\+0xfe0>
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
a084: f43e afbc beq\.w 9000 <__irel_end\+0xfe0>
a088: 4c00 ldr r4, \[pc, #0\] ; \(a08c <_thumb\+0x28>\)
a08a: 4c01 ldr r4, \[pc, #4\] ; \(a090 <_thumb\+0x2c>\)
#------------------------------------------------------------------------------
#------ GP-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a08c: 0000000c \.word 0x0000000c
#------------------------------------------------------------------------------
#------ PC-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a090: 00006f7c \.word 0x00006f7c
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
a094: f7fe efc4 blx 9020 <__irel_end\+0x1000>
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
a098: f7fe bfc0 b\.w 901c <__irel_end\+0xffc>
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
a09c: f43e afbe beq\.w 901c <__irel_end\+0xffc>
a0a0: 4c00 ldr r4, \[pc, #0\] ; \(a0a4 <_thumb\+0x40>\)
a0a2: 4c01 ldr r4, \[pc, #4\] ; \(a0a8 <_thumb\+0x44>\)
#------------------------------------------------------------------------------
#------ GP-relative offset of f4's .igot.plt entry
#------------------------------------------------------------------------------
a0a4: 00000014 \.word 0x00000014
#------------------------------------------------------------------------------
#------ PC-relative offset of f4's .igot.plt entry
#------------------------------------------------------------------------------
a0a8: 00006f6c \.word 0x00006f6c
|