aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm/cmse-implib.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-arm/cmse-implib.s')
-rw-r--r--ld/testsuite/ld-arm/cmse-implib.s58
1 files changed, 58 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/cmse-implib.s b/ld/testsuite/ld-arm/cmse-implib.s
new file mode 100644
index 0000000..a42da63
--- /dev/null
+++ b/ld/testsuite/ld-arm/cmse-implib.s
@@ -0,0 +1,58 @@
+ .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
+ entry exported_entry_veneer2, global
+ entry exported_entry_veneer3, global
+
+ @ Valid setup for entry function without veneer generation
+ entry exported_entry_fct1, global, sg
+ entry exported_entry_fct2, global, sg
+
+ @ 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