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
|
.text
.globl foo
.type foo, %function
foo:
stmfd sp!, {r9, lr, pc}
ldr r9, 1f
ldr r9, [r9]
ldr r9, [r9, #__GOTT_INDEX__]
ldr r0, 1f + 4
ldr r1, [r9, r0]
add r1, r1, #1
str r1, [r9, r0]
bl slocal(PLT)
bl sglobal(PLT)
bl sexternal(PLT)
ldmfd sp!, {r9, pc}
1:
.word __GOTT_BASE__
.word x(got)
.size foo, .-foo
.type slocal, %function
slocal:
mov pc,lr
.size slocal, .-slocal
.globl sglobal
.type sglobal, %function
sglobal:
mov pc,lr
.size sglobal, .-sglobal
.data
.4byte slocal
.comm x,4,4
|