blob: 25b682f96209c68a0aab4aa3ba440d90985a191a (
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
|
.macro define,name
.type \name,%gnu_indirect_function
\name:
mov pc,lr
.size \name,.-\name
.endm
.macro test_relocs,name
bl \name
ldr r4,1f
ldr r4,2f
ldr r4,3f
ldr r4,4f
ldr r5,5f
1:
.word \name
2:
.word \name-.
3:
.word \name(GOTOFF)
4:
.word \name(GOT)
5:
.word \name(GOT_PREL)
.endm
.global f3
.hidden f3
define f1
# f2 provided by ifunc-3.so
define f3
.globl _start
_start:
test_relocs foo
test_relocs f1
test_relocs f2
test_relocs f3
.size _start,.-_start
.data
foo:
.word 0x11223344
|