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:
parent
f2589bc7d8
commit
f53e12d2da
@ -437,11 +437,11 @@ struct scb_exception_stack_frame {
|
|||||||
: [frameptr]"=r" (f)); \
|
: [frameptr]"=r" (f)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
void scb_reset_system(void) __attribute__((noreturn, naked));
|
void scb_reset_system(void) __attribute__((noreturn));
|
||||||
|
|
||||||
/* Those defined only on ARMv7 and above */
|
/* Those defined only on ARMv7 and above */
|
||||||
#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__)
|
#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);
|
void scb_set_priority_grouping(uint32_t prigroup);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -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;
|
volatile unsigned *src, *dest;
|
||||||
funcp_t *fp;
|
funcp_t *fp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user