diff --git a/cm_backtrace/cm_backtrace.c b/cm_backtrace/cm_backtrace.c index 7359420..e7ce1ad 100644 --- a/cm_backtrace/cm_backtrace.c +++ b/cm_backtrace/cm_backtrace.c @@ -35,7 +35,7 @@ #error "must be C99 or higher. try to add '-std=c99' to compile parameters" #endif -#if defined(__CC_ARM) || defined(__CLANG_ARM) +#if defined(__ARMCC_VERSION) #define SECTION_START(_name_) _name_##$$Base #define SECTION_END(_name_) _name_##$$Limit #define IMAGE_SECTION_START(_name_) Image$$##_name_##$$Base @@ -145,7 +145,7 @@ void cm_backtrace_init(const char *firmware_name, const char *hardware_ver, cons strncpy(hw_ver, hardware_ver, CMB_NAME_MAX); strncpy(sw_ver, software_ver, CMB_NAME_MAX); -#if defined(__CC_ARM) || defined(__CLANG_ARM) +#if defined(__ARMCC_VERSION) main_stack_start_addr = (uint32_t)&CSTACK_BLOCK_START(CMB_CSTACK_BLOCK_NAME); main_stack_size = (uint32_t)&CSTACK_BLOCK_END(CMB_CSTACK_BLOCK_NAME) - main_stack_start_addr; code_start_addr = (uint32_t)&CODE_SECTION_START(CMB_CODE_SECTION_NAME); diff --git a/cm_backtrace/cmb_def.h b/cm_backtrace/cmb_def.h index d41b5ec..42f6298 100644 --- a/cm_backtrace/cmb_def.h +++ b/cm_backtrace/cmb_def.h @@ -62,7 +62,7 @@ #endif -#if defined(__CC_ARM) || defined(__CLANG_ARM) +#if defined(__ARMCC_VERSION) /* C stack block name, default is STACK */ #ifndef CMB_CSTACK_BLOCK_NAME #define CMB_CSTACK_BLOCK_NAME STACK @@ -301,7 +301,7 @@ if (!(EXPR)) \ } /* ELF(Executable and Linking Format) file extension name for each compiler */ -#if defined(__CC_ARM) || defined(__CLANG_ARM) +#if defined(__ARMCC_VERSION) #define CMB_ELF_FILE_EXTENSION_NAME ".axf" #elif defined(__ICCARM__) #define CMB_ELF_FILE_EXTENSION_NAME ".out" @@ -355,7 +355,7 @@ if (!(EXPR)) \ mov r0, sp bx lr } -#elif defined(__CLANG_ARM) +#elif defined(__clang__) __attribute__( (always_inline) ) static __inline uint32_t cmb_get_msp(void) { uint32_t result; __asm volatile ("mrs %0, msp" : "=r" (result) );