diff options
Diffstat (limited to 'fix-kvm-build-with-gcc10.patch')
-rw-r--r-- | fix-kvm-build-with-gcc10.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/fix-kvm-build-with-gcc10.patch b/fix-kvm-build-with-gcc10.patch deleted file mode 100644 index 9a368f777290..000000000000 --- a/fix-kvm-build-with-gcc10.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 78a5255ffb6a1af189a83e493d916ba1c54d8c75 Mon Sep 17 00:00:00 2001 -From: Linus Torvalds <torvalds@linux-foundation.org> -Date: Sat, 9 May 2020 13:57:10 -0700 -Subject: [PATCH] Stop the ad-hoc games with -Wno-maybe-initialized - -We have some rather random rules about when we accept the -"maybe-initialized" warnings, and when we don't. - -For example, we consider it unreliable for gcc versions < 4.9, but also -if -O3 is enabled, or if optimizing for size. And then various kernel -config options disabled it, because they know that they trigger that -warning by confusing gcc sufficiently (ie PROFILE_ALL_BRANCHES). - -And now gcc-10 seems to be introducing a lot of those warnings too, so -it falls under the same heading as 4.9 did. - -At the same time, we have a very straightforward way to _enable_ that -warning when wanted: use "W=2" to enable more warnings. - -So stop playing these ad-hoc games, and just disable that warning by -default, with the known and straight-forward "if you want to work on the -extra compiler warnings, use W=123". - -Would it be great to have code that is always so obvious that it never -confuses the compiler whether a variable is used initialized or not? -Yes, it would. In a perfect world, the compilers would be smarter, and -our source code would be simpler. - -That's currently not the world we live in, though. - -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- - Makefile | 7 +++---- - init/Kconfig | 18 ------------------ - kernel/trace/Kconfig | 1 - - 3 files changed, 3 insertions(+), 23 deletions(-) - -diff --git a/Makefile b/Makefile -index 3512f7b243dc0..1e94f4f15d92e 100644 ---- a/Makefile -+++ b/Makefile -@@ -729,10 +729,6 @@ else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os - endif - --ifdef CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED --KBUILD_CFLAGS += -Wno-maybe-uninitialized --endif -- - # Tell gcc to never replace conditional load with a non-conditional one - KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) - KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races) -@@ -881,6 +877,9 @@ KBUILD_CFLAGS += -Wno-pointer-sign - # disable stringop warnings in gcc 8+ - KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation) - -+# Enabled with W=2, disabled by default as noisy -+KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized) -+ - # disable invalid "can't wrap" optimizations for signed / pointers - KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow) - -diff --git a/init/Kconfig b/init/Kconfig -index 9e22ee8fbd75e..9278a603d3993 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -39,22 +39,6 @@ config TOOLS_SUPPORT_RELR - config CC_HAS_ASM_INLINE - def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) - --config CC_HAS_WARN_MAYBE_UNINITIALIZED -- def_bool $(cc-option,-Wmaybe-uninitialized) -- help -- GCC >= 4.7 supports this option. -- --config CC_DISABLE_WARN_MAYBE_UNINITIALIZED -- bool -- depends on CC_HAS_WARN_MAYBE_UNINITIALIZED -- default CC_IS_GCC && GCC_VERSION < 40900 # unreliable for GCC < 4.9 -- help -- GCC's -Wmaybe-uninitialized is not reliable by definition. -- Lots of false positive warnings are produced in some cases. -- -- If this option is enabled, -Wno-maybe-uninitialzed is passed -- to the compiler to suppress maybe-uninitialized warnings. -- - config CONSTRUCTORS - bool - depends on !UML -@@ -1257,14 +1241,12 @@ config CC_OPTIMIZE_FOR_PERFORMANCE - config CC_OPTIMIZE_FOR_PERFORMANCE_O3 - bool "Optimize more for performance (-O3)" - depends on ARC -- imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives - help - Choosing this option will pass "-O3" to your compiler to optimize - the kernel yet more for performance. - - config CC_OPTIMIZE_FOR_SIZE - bool "Optimize for size (-Os)" -- imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives - help - Choosing this option will pass "-Os" to your compiler resulting - in a smaller kernel. -diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index 402eef84c859a..743647005f64e 100644 ---- a/kernel/trace/Kconfig -+++ b/kernel/trace/Kconfig -@@ -466,7 +466,6 @@ config PROFILE_ANNOTATED_BRANCHES - config PROFILE_ALL_BRANCHES - bool "Profile all if conditionals" if !FORTIFY_SOURCE - select TRACE_BRANCH_PROFILING -- imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives - help - This tracer profiles all branch conditions. Every if () - taken in the kernel is recorded whether it hit or miss. |