30 #if !defined(_ar_asm_macros_h_) 32 #if defined(__IASMARM__) 37 #define _CODE_SECTION(name) section name : CODE(4) 38 #define _DATA_SECTION(name) section name : DATA(4) 40 #define _IMPORT(name) import name 41 #define _EXPORT(name) \ 44 #define _LABEL(name) name 46 #define _FN_BEGIN(name) CFI Block CFIBlock_##name Using CFICommon0 47 #define _FN_LABEL(name) _LABEL(name) 48 #define _FN_DECL(name) CFI Function name 49 #define _FN_BEGIN_POST 50 #define _FN_CANT_UNWIND 51 #define _FN_END(name) CFI EndBlock CFIBlock_##name 52 #define _FN_SIZE(name) 53 #define _EQU(name, value) name equ value 54 #define _ALIGN(n) alignrom n 59 CFI StackFrame CFA R13 DATA
60 CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
61 CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, R13:32, R14:32
62 CFI EndNames CFINames0
64 CFI Common CFICommon0 Using CFINames0
67 CFI ReturnAddress R14 CODE
83 CFI EndCommon CFICommon0
85 #elif defined(__CC_ARM) 90 #define _CODE_SECTION(name) AREA | name |, CODE, READONLY 91 #define _DATA_SECTION(name) AREA | name |, DATA, READONLY 93 #define _IMPORT(name) IMPORT name 94 #define _EXPORT(name) EXPORT name 95 #define _LABEL(name) name 97 #define _FN_BEGIN(name) EXPORT name 98 #define _FN_LABEL(name) name FUNCTION 99 #define _FN_DECL(name) 100 #define _FN_BEGIN_POST 101 #define _FN_CANT_UNWIND FRAME UNWIND OFF 102 #define _FN_END(name) ENDFUNC 103 #define _FN_SIZE(name) 104 #define _EQU(name, value) name EQU value 105 #define _ALIGN(n) align n 107 #elif defined(__GNUC__) 112 #define _CODE_SECTION(name) .section name 113 #define _DATA_SECTION(name) .section name 114 #define _THUMB .thumb 115 #define _IMPORT(name) .extern name 116 #define _EXPORT(name) .global name 117 #define _LABEL(name) name: 119 #define _FN_BEGIN(name) .thumb_func 120 #define _FN_LABEL(name) _LABEL(name) 121 #define _FN_DECL(name) .type name, % function 122 #define _FN_BEGIN_POST .fnstart 123 #define _FN_CANT_UNWIND .cantunwind 124 #define _FN_END(name) .fnend 125 #define _FN_SIZE(name) .size name, .- name 126 #define _EQU(name, value) .equ name, value 127 #define _ALIGN(n) .balign n 132 #error "Unsupported assembler" 135 #endif // __ar_asm_macros_h__