cm3: Only inline asm is allowed in naked functions

According to: https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc/ARM-Function-Attributes.html

"Only basic asm statements can safely be included in naked functions (see Basic
Asm). While using extended asm or a mixture of basic asm and C code may appear
to work, they cannot be depended upon to work reliably and are not supported."
This commit is contained in:
keepkeyjon 2018-03-07 07:53:11 -07:00 committed by Karl Palsson
parent f2589bc7d8
commit f53e12d2da
2 changed files with 3 additions and 3 deletions

View File

@ -437,11 +437,11 @@ struct scb_exception_stack_frame {
: [frameptr]"=r" (f)); \
} while (0)
void scb_reset_system(void) __attribute__((noreturn, naked));
void scb_reset_system(void) __attribute__((noreturn));
/* Those defined only on ARMv7 and above */
#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__)
void scb_reset_core(void) __attribute__((noreturn, naked));
void scb_reset_core(void) __attribute__((noreturn));
void scb_set_priority_grouping(uint32_t prigroup);
#endif

View File

@ -59,7 +59,7 @@ vector_table_t vector_table = {
}
};
void __attribute__ ((weak, naked)) reset_handler(void)
void __attribute__ ((weak)) reset_handler(void)
{
volatile unsigned *src, *dest;
funcp_t *fp;