aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-07-27 13:17:41 -0700
committerMister Oyster <oysterized@gmail.com>2017-09-30 15:36:11 +0200
commit7694623a1eb0af6225cf3c9f8f4d1cdc27c668fc (patch)
tree0adb70eda851e912b0b4778fb3589ee2aba5722e
parent77b89a02f332ca44498e8c292b62f5a6d0faa06e (diff)
Disable "maybe-uninitialized" warning globally
Several build configurations had already disabled this warning because it generates a lot of false positives. But some had not, and it was still enabled for "allmodconfig" builds, for example. Looking at the warnings produced, every single one I looked at was a false positive, and the warnings are frequent enough (and big enough) that they can easily hide real problems that you don't notice in the noise generated by -Wmaybe-uninitialized. The warning is good in theory, but this is a classic case of a warning that causes more problems than the warning can solve. If gcc gets better at avoiding false positives, we may be able to re-enable this warning. But as is, we're better off without it, and I want to be able to see the *real* warnings. Change-Id: Ie810d255be8911c413c9abe6965a9a66639a1dce Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 64e976af4..ef38ebdf9 100644
--- a/Makefile
+++ b/Makefile
@@ -588,8 +588,10 @@ endif # $(dot-config)
# Defaults to vmlinux, but the arch makefile usually adds further targets
all: vmlinux
+KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,)
+
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
-KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
+KBUILD_CFLAGS += -Os
else
KBUILD_CFLAGS += -O2
endif