[PATCH] sparse doesn't support indirect_branch attribute

From: Matthew Wilcox
Date: Tue Feb 27 2018 - 14:48:33 EST



Don't use __attribute__((indirect_branch)) if we're compiling with
sparse.

Signed-off-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index e2c7f4369eff..b6be4cc25e9d 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -93,7 +93,7 @@
#define __weak __attribute__((weak))
#define __alias(symbol) __attribute__((alias(#symbol)))

-#ifdef RETPOLINE
+#if defined(RETPOLINE) && !defined(__CHECKER__)
#define __noretpoline __attribute__((indirect_branch("keep")))
#endif