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
|
.*
Disassembly of section \.plt:
00009000 <.plt>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <.*>
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
#------------------------------------------------------------------------------
00009014 <f2@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
Disassembly of section \.iplt:
00009020 <\.iplt>:
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
9020: e28fc600 add ip, pc, #0, 12
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
902c: e28fc600 add ip, pc, #0, 12
9030: e28cca07 add ip, ip, #28672 ; 0x7000
9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0
#------------------------------------------------------------------------------
#------ f4'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 <f2>:
a004: e1a0f00e mov pc, lr
0000a008 <f3>:
a008: e1a0f00e mov pc, lr
0000a00c <f4>:
a00c: e1a0f00e mov pc, lr
0000a010 <arm>:
a010: eb0017fa bl 10000 <foo>
a014: e59f4000 ldr r4, \[pc\] ; a01c <arm\+0xc>
a018: e59f4000 ldr r4, \[pc\] ; a020 <arm\+0x10>
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a01c: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a020: 00006ffc \.word 0x00006ffc
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a024: ebfffbfd bl 9020 <f2@plt\+0xc>
a028: e59f4000 ldr r4, \[pc\] ; a030 <arm\+0x20>
a02c: e59f4000 ldr r4, \[pc\] ; a034 <arm\+0x24>
#------------------------------------------------------------------------------
#------ GP-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a030: 00000010 \.word 0x00000010
#------------------------------------------------------------------------------
#------ PC-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a034: 00006fdc \.word 0x00006fdc
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
a038: ebfffbf5 bl 9014 <f2@plt>
a03c: e59f4000 ldr r4, \[pc\] ; a044 <arm\+0x34>
a040: e59f4000 ldr r4, \[pc\] ; a048 <arm\+0x38>
#------------------------------------------------------------------------------
#------ .got offset for f2
#------------------------------------------------------------------------------
a044: 00000024 \.word 0x00000024
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for f2
#------------------------------------------------------------------------------
a048: 00006fdc \.word 0x00006fdc
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
a04c: ebfffbf6 bl 902c <f2@plt\+0x18>
a050: e59f4000 ldr r4, \[pc\] ; a058 <arm\+0x48>
a054: e59f4000 ldr r4, \[pc\] ; a05c <arm\+0x4c>
#------------------------------------------------------------------------------
#------ GP-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a058: 00000014 \.word 0x00000014
#------------------------------------------------------------------------------
#------ PC-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a05c: 00006fb8 \.word 0x00006fb8
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
a060: ebfffbf4 bl 9038 <f2@plt\+0x24>
a064: e59f4000 ldr r4, \[pc\] ; a06c <arm\+0x5c>
a068: e59f4000 ldr r4, \[pc\] ; a070 <arm\+0x60>
#------------------------------------------------------------------------------
#------ .got offset for f4
#------------------------------------------------------------------------------
a06c: 00000028 \.word 0x00000028
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for f4
#------------------------------------------------------------------------------
a070: 00006fb8 \.word 0x00006fb8
|