diff --git a/src/core/tls.h b/src/core/tls.h index c4e3080a4..46ca8153b 100644 --- a/src/core/tls.h +++ b/src/core/tls.h @@ -44,9 +44,9 @@ Tcb* GetTcbBase(); void EnsureThreadInitialized(); template -void ClearStack() { - void* buf = alloca(size); - memset(buf, 0, size); +__attribute__((optnone)) void ClearStack() { + volatile void* buf = alloca(size); + memset(const_cast(buf), 0, size); buf = nullptr; }