Re: Disable execstack and rwx segments warnings for MIPS targets.
[binutils-gdb.git] / ld / testsuite / ld-arm / ifunc-10.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 # f2 provided by ifunc-4.so
56 define2 f3
57 # f4 provided by ifunc-4.so
58
59 alldirs .globl,f3
60 alldirs .hidden,f3
61
62 .globl _start
63 .type _start,%function
64 .arm
65 _start:
66 test_relocs foo
67 test_relocs2 f1,a,
68 test_relocs2 f2,a,
69 test_relocs2 f3,a,
70 test_relocs2 f4,a,
71 .size _start,.-_start
72
73 .globl _thumb
74 .type _thumb,%function
75 .thumb_func
76 _thumb:
77 test_relocs foo
78 test_relocs2 f1,t,.w
79 test_relocs2 f2,t,.w
80 test_relocs2 f3,t,.w
81 test_relocs2 f4,t,.w
82 .size _thumb,.-_thumb
83
84 .data
85 foo:
86 .word 0x11223344
87 alldirs diff,f1
88 alldirs diff,f2
89 alldirs diff,f3
90 alldirs diff,f4