i40e: fix broken XDP support
[linux-2.6-microblaze.git] / Makefile
index 3a10a8e..f03888c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -813,6 +813,10 @@ KBUILD_CFLAGS      += -ftrivial-auto-var-init=zero
 KBUILD_CFLAGS  += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
 endif
 
+# While VLAs have been removed, GCC produces unreachable stack probes
+# for the randomize_kstack_offset feature. Disable it for all compilers.
+KBUILD_CFLAGS  += $(call cc-option, -fno-stack-clash-protection)
+
 DEBUG_CFLAGS   :=
 
 # Workaround for GCC versions < 5.0
@@ -920,6 +924,23 @@ KBUILD_AFLAGS      += -fno-lto
 export CC_FLAGS_LTO
 endif
 
+ifdef CONFIG_CFI_CLANG
+CC_FLAGS_CFI   := -fsanitize=cfi \
+                  -fsanitize-cfi-cross-dso \
+                  -fno-sanitize-cfi-canonical-jump-tables \
+                  -fno-sanitize-trap=cfi \
+                  -fno-sanitize-blacklist
+
+ifdef CONFIG_CFI_PERMISSIVE
+CC_FLAGS_CFI   += -fsanitize-recover=cfi
+endif
+
+# If LTO flags are filtered out, we must also filter out CFI.
+CC_FLAGS_LTO   += $(CC_FLAGS_CFI)
+KBUILD_CFLAGS  += $(CC_FLAGS_CFI)
+export CC_FLAGS_CFI
+endif
+
 ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
 KBUILD_CFLAGS += -falign-functions=32
 endif