Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-arm / ifunc-6.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  test_relocs,name,width
13         bl\width \name
14         b\width \name
15         beq\width \name
16         ldr     r4,1f
17         ldr     r4,2f
18 1:
19         .word   \name(GOT)
20 2:
21         .word   \name(GOT_PREL)
22         .endm
23
24         .global f1
25         .global f2
26
27         .global f3
28         .global f4
29         .hidden f3
30         .hidden f4
31
32         define  f1,.arm
33         define  f2,.thumb_func
34         define  f3,.arm
35         define  f4,.thumb_func
36
37         .globl  _start
38         .type   _start,%function
39         .arm
40 _start:
41         test_relocs foo
42         test_relocs f1,
43         test_relocs f2,
44         .size   _start,.-_start
45
46         .globl  _thumb
47         .type   _thumb,%function
48         .thumb_func
49 _thumb:
50         test_relocs foo
51         test_relocs f3,.w
52         test_relocs f4,.w
53         .size   _thumb,.-_thumb
54
55         .data
56 foo:
57         .word   0x11223344
58         .word   __irel_start
59         .word   __irel_end