aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/i386/ifunc-2.s
blob: ca536d361d3fbcc7fe852b05f9e6bbb53a355d8f (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
	.section .text.1,"ax",@progbits

start1:
	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start1-bar1
	.long	start1-bar2
	.long	bar1-abs1
	.long	abs1-bar1
	.long	.-bar1

	.type	foo1,%gnu_indirect_function
foo1:
	ret
	.size	foo1,.-foo1

	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start1-bar1
	.long	start1-bar2
	.long	bar1-abs1
	.long	abs1-bar1
	.long	.-bar1

	.type	bar1,%gnu_indirect_function
bar1:
	ret
	.size	bar1,.-bar1

	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start1-bar1
	.long	start1-bar2
	.long	bar1-abs1
	.long	abs1-bar1
	.long	.-bar1

	.long	abs1-abs2
	.long	abs2-abs1

	.equ	abs1,0x11223300
	.type	abs1,%gnu_indirect_function

	.long	abs1-abs2
	.long	abs2-abs1

	.equ	abs2,0x11223380
	.type	abs2,%gnu_indirect_function

	.long	abs1-abs2
	.long	abs2-abs1

	.section .text.2,"ax",@progbits

start2:
	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start2-bar1
	.long	start2-bar2
	.long	bar2-abs1
	.long	abs1-bar2
	.long	.-bar2

	.type	foo2,%gnu_indirect_function
foo2:
	ret
	.size	foo2,.-foo2

	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start2-bar1
	.long	start2-bar2
	.long	bar2-abs1
	.long	abs1-bar2
	.long	.-bar2

	.type	bar2,%gnu_indirect_function
bar2:
	ret
	.size	bar2,.-bar2

	.long	bar1-foo1
	.long	bar2-foo2
	.long	bar1-bar2
	.long	bar2-bar1
	.long	start2-bar1
	.long	start2-bar2
	.long	bar2-abs1
	.long	abs1-bar2
	.long	.-bar2