summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2017-10-11 16:01:22 +0200
committerJohannes Berg <johannes.berg@intel.com>2017-10-11 17:00:42 +0200
commita9b608b7bbfe25c1321b3b4dfa45338f91c4c043 (patch)
treef0093b6153ac6313463438a282b2211e7627295c
parented83bd0424aba0f8200b1c1c85aefb1a6c3f15e2 (diff)
backports: add OPTIMIZER_HIDE_VAR
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--backport/backport-include/linux/compiler-gccN.h4
-rw-r--r--backport/backport-include/linux/compiler.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/backport/backport-include/linux/compiler-gccN.h b/backport/backport-include/linux/compiler-gccN.h
index 23ad803d..97e7541d 100644
--- a/backport/backport-include/linux/compiler-gccN.h
+++ b/backport/backport-include/linux/compiler-gccN.h
@@ -120,3 +120,7 @@
#endif
#endif /* gcc version >= 40000 specific checks */
+
+#ifndef OPTIMIZER_HIDE_VAR
+#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
+#endif
diff --git a/backport/backport-include/linux/compiler.h b/backport/backport-include/linux/compiler.h
index e5af565b..53c069df 100644
--- a/backport/backport-include/linux/compiler.h
+++ b/backport/backport-include/linux/compiler.h
@@ -88,4 +88,8 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
})
#endif
+#ifndef OPTIMIZER_HIDE_VAR
+#define OPTIMIZER_HIDE_VAR(var) barrier()
+#endif
+
#endif /* __BACKPORT_LINUX_COMPILER_H */