.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