aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm/cmse-implib.s
blob: 9dd783939891478351a5f7ccb1480980a77dca68 (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
	.syntax unified
	.text

.macro	entry	name, vis, entry_fct
	.align	2
	.\vis	\name
	.\vis	__acle_se_\name
	.thumb
	.thumb_func
	.type	\name, %function
	.type	__acle_se_\name, %function
\name:
.ifnb \entry_fct
	\entry_fct
.endif
__acle_se_\name:
	nop
	.size	\name, .-\name
	.size	__acle_se_\name, .-__acle_se_\name
.endm

	@ Valid setups for veneer generation
.if (VER >= 2)
	entry exported_entry_veneer1, global
.endif
.if (VER != 4)
	entry exported_entry_veneer2, global
.else
	entry exported_entry_veneer2, weak
.endif
.if (VER != 2)
	entry exported_entry_veneer3, global
.endif
.if (VER > 1)
	entry exported_entry_veneer4, global
.endif

	@ Valid setup for entry function without veneer generation
	entry exported_entry_fct1, global, sg
.if (VER != 4)
	entry exported_entry_fct2, global, sg
.else
	@ Invalid setup for entry function without veneer generation
	entry exported_entry_fct2, global, nop
.endif

	@ Normal symbol not exported to SG import library
	.align	2
	.global	not_exported_fct1
	.type	not_exported_fct1, %function
not_exported_fct1:
	nop
	.size	not_exported_fct1, .-not_exported_fct1

.ifdef CHECK_ERRORS
	@ Invalid setups for export to SG import library
	.align	2
	.global	__acle_se_not_exported_fct2
	.type	__acle_se_not_exported_fct2, %function
__acle_se_not_exported_fct2:
	nop
	.size	__acle_se_not_exported_fct2, .-__acle_se_not_exported_fct2

	.align	2
	.global	__acle_se_not_exported_pseudoentry_var
	.global	not_exported_pseudoentry_var
	.data
	.type	__acle_se_not_exported_pseudoentry_var, %object
	.type	not_exported_pseudoentry_var, %object
	.size	not_exported_pseudoentry_var, 4
	.size	__acle_se_not_exported_pseudoentry_var, 4
__acle_se_not_exported_pseudoentry_var:
not_exported_pseudoentry_var:
	.word	42
.endif