Make ecall inline asm as clobbering memory, which acts as a compiler barrier.
diff --git a/sdk/include/stdlib.h b/sdk/include/stdlib.h index 6955d23..adc2143 100644 --- a/sdk/include/stdlib.h +++ b/sdk/include/stdlib.h
@@ -329,6 +329,6 @@ static inline void yield(void) { - __asm volatile("ecall"); + __asm volatile("ecall" ::: "memory"); } __END_DECLS