From 00ff8b6f8bf000aa392c963cfdecc58090351ebe Mon Sep 17 00:00:00 2001 From: Fabio Baltieri Date: Tue, 29 Oct 2024 16:35:08 +0000 Subject: [PATCH] FROMPULL: arch: arm: cortex_m: add memory to the clobber list Add "memory" to the clobber list" From GCC 14 the compiler optimizes away memory accesses that do not impact the asm block. Adding the memory to the clobber list lets the compiler know that the memory state is to be preserved. https://github.com/zephyrproject-rtos/zephyr/pull/80579 BUG=b:376282914 Change-Id: I990e2256d0019361b3ef1f736095ebca3806a6e1 Signed-off-by: Wilfried Chauveau Signed-off-by: Fabio Baltieri Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5976801 Commit-Queue: Jeremy Bettis Tested-by: Jeremy Bettis --- arch/arm/core/cortex_m/thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/core/cortex_m/thread.c b/arch/arm/core/cortex_m/thread.c index 4cadc4e72bf..6cd7144e79d 100644 --- a/arch/arm/core/cortex_m/thread.c +++ b/arch/arm/core/cortex_m/thread.c @@ -588,7 +588,7 @@ void arch_switch_to_main_thread(struct k_thread *main_thread, char *stack_ptr, "bx r4\n" /* We don’t intend to return, so there is no need to link. */ : : "r" (_main), "r" (stack_ptr) - : "r0", "r1", "r2", "r3", "r4", "ip", "lr"); + : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "memory"); CODE_UNREACHABLE; }