Apply ld-arm/gc-hidden-1 to all ELF targets, not just *eabi* targets
[deliverable/binutils-gdb.git] / ld / testsuite / ld-arm / ifunc-4.s
1 .syntax unified
2 .arch armv6t2
3
4 .macro define,name,type
5 .type \name,%gnu_indirect_function
6 \type
7 \name:
8 mov pc,lr
9 .size \name,.-\name
10 .endm
11
12 .macro define2,name
13 define aa\name,.arm
14 define at\name,.arm
15 define ab\name,.arm
16 define ta\name,.thumb_func
17 define tt\name,.thumb_func
18 define tb\name,.thumb_func
19 .endm
20
21 .macro test_relocs,name,width
22 bl \name(PLT)
23 b\width \name
24 beq\width \name
25 ldr r4,1f
26 ldr r4,2f
27 1:
28 .word \name(GOT)
29 2:
30 .word \name(GOT_PREL)
31 .endm
32
33 .macro test_relocs2,name,type,width
34 test_relocs a\type\name,\width
35 test_relocs t\type\name,\width
36 test_relocs ab\name,\width
37 test_relocs tb\name,\width
38 .endm
39
40 .macro diff,name
41 .word \name
42 .word \name-.
43 .endm
44
45 .macro alldirs,doit,name
46 \doit aa\name
47 \doit at\name
48 \doit ab\name
49 \doit ta\name
50 \doit tt\name
51 \doit tb\name
52 .endm
53
54 define2 f1
55 define2 f2
56 define2 f3
57 define2 f4
58
59 alldirs .globl,f2
60
61 alldirs .globl,f3
62 alldirs .hidden,f3
63
64 alldirs .globl,f4
65 alldirs .protected,f4
66
67 .globl arm
68 .type arm,%function
69 .arm
70 arm:
71 test_relocs foo
72 test_relocs2 f1,a,
73 test_relocs2 f2,a,
74 test_relocs2 f3,a,
75 test_relocs2 f4,a,
76 .size arm,.-arm
77
78 .globl _thumb
79 .type _thumb,%function
80 .thumb_func
81 _thumb:
82 test_relocs foo
83 test_relocs2 f1,t,.w
84 test_relocs2 f2,t,.w
85 test_relocs2 f3,t,.w
86 test_relocs2 f4,t,.w
87 .size _thumb,.-_thumb
88
89 .data
90 foo:
91 .word 0x11223344
92 alldirs diff,f1
93 alldirs diff,f2
94 alldirs diff,f3
95 alldirs diff,f4
This page took 0.040918 seconds and 4 git commands to generate.