33 lines · plain
1/// Because the addresses of __acle_se_\sym_name and \sym_name are equal,2/// the linker creates a secure gateway in ".gnu.sgstubs".3.macro cmse_veneer sym_name, sym_type, sym_binding, acle_sym_type, acle_sym_binding4.align 25.\sym_binding \sym_name6.\acle_sym_binding __acle_se_\sym_name7.type \sym_name, %\sym_type8.type __acle_se_\sym_name, %\acle_sym_type9\sym_name:10__acle_se_\sym_name:11 nop12.size \sym_name, .-\sym_name13.size __acle_se_\sym_name, .-__acle_se_\sym_name14.endm15 16/// Because the addresses of __acle_se_\sym_name and \sym_name are not equal,17/// the linker considers that an inline secure gateway exists and does not18/// create one.19.macro cmse_no_veneer sym_name, sym_type, sym_binding, acle_sym_type, acle_sym_binding20.align 221.\sym_binding \sym_name22.\acle_sym_binding __acle_se_\sym_name23.type \sym_name, %\sym_type24.type __acle_se_\sym_name, %\acle_sym_type25\sym_name:26 sg27 nop28__acle_se_\sym_name:29 nop30.size \sym_name, .-\sym_name31.size __acle_se_\sym_name, .-__acle_se_\sym_name32.endm33