diff mbox series

[v4,2/6] tools compiler.h: Add OPTIMIZER_HIDE_VAR()

Message ID 20230728-arm64-signal-memcpy-fix-v4-2-0c1290db5d46@kernel.org (mailing list archive)
State Accepted
Commit e5d51a6650211baf38daa894d06c47748978e141
Headers show
Series kselfest/arm64: Fix a SVE memcpy() issue and use tools/include | expand

Commit Message

Mark Brown July 27, 2023, 11:26 p.m. UTC
Port over the definition of OPTIMIZER_HIDE_VAR() so we can use it in
kselftests.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 tools/include/linux/compiler.h | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h
index 9d36c8ce1fe7..f75cced41d59 100644
--- a/tools/include/linux/compiler.h
+++ b/tools/include/linux/compiler.h
@@ -190,4 +190,10 @@  static __always_inline void __write_once_size(volatile void *p, void *res, int s
 #define ___PASTE(a, b) a##b
 #define __PASTE(a, b) ___PASTE(a, b)
 
+#ifndef OPTIMIZER_HIDE_VAR
+/* Make the optimizer believe the variable can be manipulated arbitrarily. */
+#define OPTIMIZER_HIDE_VAR(var)						\
+	__asm__ ("" : "=r" (var) : "0" (var))
+#endif
+
 #endif /* _TOOLS_LINUX_COMPILER_H */