From fadddd1f4f356317867c629d6fe874217b3d68df Mon Sep 17 00:00:00 2001 From: bluew Date: Tue, 7 Jul 2020 17:24:36 +0000 Subject: [PATCH] Make access to reg volatile Compiler removes this store on some optimization levels --- lib/libc/minimal/io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/minimal/io.c b/lib/libc/minimal/io.c index 0badb95..6754a46 100644 --- a/lib/libc/minimal/io.c +++ b/lib/libc/minimal/io.c @@ -223,7 +223,7 @@ char *strchr(const char *s, int c) static void pos_libc_putc_stdout(char c) { - *(uint32_t *)(long)(ARCHI_STDOUT_ADDR + STDOUT_PUTC_OFFSET + (hal_core_id()<<3) + (hal_cluster_id()<<7)) = c; + *(volatile uint32_t *)(long)(ARCHI_STDOUT_ADDR + STDOUT_PUTC_OFFSET + (hal_core_id()<<3) + (hal_cluster_id()<<7)) = c; }