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
|
.*
Disassembly of section \.plt:
00009000 <\.plt>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f1-0xff0>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
#------ PC-relative offset of .got.plt
#------------------------------------------------------------------------------
9010: 00007ff0 \.word 0x00007ff0
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
#------------------------------------------------------------------------------
#------ f4's .plt entry
#------------------------------------------------------------------------------
9020: e28fc600 add ip, pc, #0, 12
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
Disassembly of section \.iplt:
0000902c <\.iplt>:
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
902c: e28fc600 add ip, pc, #0, 12
9030: e28cca07 add ip, ip, #28672 ; 0x7000
9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
9038: e28fc600 add ip, pc, #0, 12
903c: e28cca07 add ip, ip, #28672 ; 0x7000
9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8
Disassembly of section \.text:
0000a000 <f1>:
a000: e1a0f00e mov pc, lr
0000a004 <f3>:
a004: e1a0f00e mov pc, lr
0000a008 <arm>:
a008: eb0017fc bl 10000 <foo>
a00c: e59f4000 ldr r4, \[pc\] ; a014 <arm\+0xc>
a010: e59f4000 ldr r4, \[pc\] ; a018 <arm\+0x10>
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a014: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a018: 00007004 \.word 0x00007004
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a01c: ebfffc02 bl 902c <f1-0xfd4>
a020: e59f4000 ldr r4, \[pc\] ; a028 <arm\+0x20>
a024: e59f4000 ldr r4, \[pc\] ; a02c <arm\+0x24>
#------------------------------------------------------------------------------
#------ GP-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a028: 00000014 \.word 0x00000014
#------------------------------------------------------------------------------
#------ PC-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a02c: 00006fe8 \.word 0x00006fe8
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
a030: ebfffbf7 bl 9014 <f1-0xfec>
a034: e59f4000 ldr r4, \[pc\] ; a03c <arm\+0x34>
a038: e59f4000 ldr r4, \[pc\] ; a040 <arm\+0x38>
#------------------------------------------------------------------------------
#------ .got offset for f2
#------------------------------------------------------------------------------
a03c: 00000024 \.word 0x00000024
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for f2
#------------------------------------------------------------------------------
a040: 00006fe4 \.word 0x00006fe4
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
a044: ebfffbfb bl 9038 <f1-0xfc8>
a048: e59f4000 ldr r4, \[pc\] ; a050 <arm\+0x48>
a04c: e59f4000 ldr r4, \[pc\] ; a054 <arm\+0x4c>
#------------------------------------------------------------------------------
#------ GP-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a050: 00000018 \.word 0x00000018
#------------------------------------------------------------------------------
#------ PC-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a054: 00006fc4 \.word 0x00006fc4
#------------------------------------------------------------------------------
#------ f4's .plt entry
#------------------------------------------------------------------------------
a058: ebfffbf0 bl 9020 <f1-0xfe0>
a05c: e59f4000 ldr r4, \[pc\] ; a064 <arm\+0x5c>
a060: e59f4000 ldr r4, \[pc\] ; a068 <arm\+0x60>
#------------------------------------------------------------------------------
#------ .got offset for f4
#------------------------------------------------------------------------------
a064: 00000028 \.word 0x00000028
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for f4
#------------------------------------------------------------------------------
a068: 00006fc0 \.word 0x00006fc0
|