Skip to content

Commit

Permalink
arch: arm: cortex_m: add memory to the clobber list
Browse files Browse the repository at this point in the history
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.

(cherry picked from commit 63890e2)

Original-Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
Original-Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
GitOrigin-RevId: 63890e2
Cr-Build-Id: 8732025046822077009
Cr-Build-Url: https://cr-buildbucket.appspot.com/build/8732025046822077009
Copybot-Job-Name: zephyr-main-copybot-downstream
Change-Id: I0dba2b4ef9c3cd32ff33a6c5f808b3ca73c689d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5998443
Tested-by: ChromeOS Prod (Robot) <chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com>
Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
  • Loading branch information
fabiobaltieri authored and Chromeos LUCI committed Nov 6, 2024
1 parent 6738e5b commit 85d6faf
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/arm/core/cortex_m/thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 85d6faf

Please sign in to comment.