Message ID | 1462915821-2843456-1-git-send-email-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, May 10, 2016 at 2:30 PM, Arnd Bergmann <arnd@arndb.de> wrote: > gcc-6 started warning by default about variables that are not > used anywhere and that are marked 'const', generating many > false positives in an allmodconfig build, e.g.: > > arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=] > arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=] > drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=] > drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=] > drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=] > drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=] > > This is similar to the existing -Wunused-but-set-variable warning > that was added in an earlier release and that we disable by default > now and only enable when W=1 is set, so it makes sense to do > the same here. Once we have eliminated the majority of the > warnings for both, we can put them back into the default list. > > We probably want this in backport kernels as well, to allow building > them with gcc-6 without introducing extra warnings. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Cc: stable@vger.kernel.org Acked-by: Olof Johansson <olof@lixom.net> > I had originally started testing with gcc-6 a while ago and turned off > this option in my build scripts because it was too noisy. I fixed all > the other warnings I got and forgot about it until Olof mentioned it > when he upgraded his build bot and the warnings started exploding. Yeah, it makes for a very noisy build that makes the valid real warnings drown. Someone should feel free to clean these up sometimes, but until then we shouldn't surface them by default. I'd love to see this go in before 4.6. -Olof -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 10 May 2016, Arnd Bergmann wrote: > gcc-6 started warning by default about variables that are not > used anywhere and that are marked 'const', generating many > false positives in an allmodconfig build, e.g.: > > arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=] > arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=] > drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=] > drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=] > drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=] > drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=] > > This is similar to the existing -Wunused-but-set-variable warning > that was added in an earlier release and that we disable by default > now and only enable when W=1 is set, so it makes sense to do > the same here. Once we have eliminated the majority of the > warnings for both, we can put them back into the default list. > > We probably want this in backport kernels as well, to allow building > them with gcc-6 without introducing extra warnings. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Cc: stable@vger.kernel.org > --- > I had originally started testing with gcc-6 a while ago and turned off > this option in my build scripts because it was too noisy. I fixed all > the other warnings I got and forgot about it until Olof mentioned it > when he upgraded his build bot and the warnings started exploding. > > Makefile | 5 +++-- > scripts/Makefile.extrawarn | 1 + > 2 files changed, 4 insertions(+), 2 deletions(-) Works for me: Acked-by: Lee Jones <lee.jones@linaro.org> OOI, we described W=1 as "warnings that we'd like to see fixed shortly, in order to obtain a clean W=1 build". By demoting 'sign-compare' to W=2 we reduced warnings from 25k to 3k, which is a more achievable target. How does this change effect the W=1 warning count? Does it place a clean W=1 build back out of the realms of possibility? > diff --git a/Makefile b/Makefile > index f7ccd8a40450..7934088c011b 100644 > --- a/Makefile > +++ b/Makefile > @@ -708,9 +708,10 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) > KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) > else > > -# This warning generated too much noise in a regular build. > -# Use make W=1 to enable this warning (see scripts/Makefile.build) > +# These warnings generated too much noise in a regular build. > +# Use make W=1 to enable them (see scripts/Makefile.build) > KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) > +KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) > endif > > ifdef CONFIG_FRAME_POINTER > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index f9e47a70509c..53449a6ff6aa 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -24,6 +24,7 @@ warning-1 += $(call cc-option, -Wmissing-prototypes) > warning-1 += -Wold-style-definition > warning-1 += $(call cc-option, -Wmissing-include-dirs) > warning-1 += $(call cc-option, -Wunused-but-set-variable) > +warning-1 += $(call cc-option, -Wunused-const-variable) > warning-1 += $(call cc-disable-warning, missing-field-initializers) > warning-1 += $(call cc-disable-warning, sign-compare) >
On Tue, May 10, 2016 at 11:30:01PM +0200, Arnd Bergmann wrote: > gcc-6 started warning by default about variables that are not > used anywhere and that are marked 'const', generating many > false positives in an allmodconfig build, e.g.: > > arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=] > arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=] > drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=] > drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=] > drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=] > drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=] > > This is similar to the existing -Wunused-but-set-variable warning > that was added in an earlier release and that we disable by default > now and only enable when W=1 is set, so it makes sense to do > the same here. Once we have eliminated the majority of the > warnings for both, we can put them back into the default list. > > We probably want this in backport kernels as well, to allow building > them with gcc-6 without introducing extra warnings. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Cc: stable@vger.kernel.org Applied to kbuild.git#kbuild. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Makefile b/Makefile index f7ccd8a40450..7934088c011b 100644 --- a/Makefile +++ b/Makefile @@ -708,9 +708,10 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) else -# This warning generated too much noise in a regular build. -# Use make W=1 to enable this warning (see scripts/Makefile.build) +# These warnings generated too much noise in a regular build. +# Use make W=1 to enable them (see scripts/Makefile.build) KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) +KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) endif ifdef CONFIG_FRAME_POINTER diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index f9e47a70509c..53449a6ff6aa 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -24,6 +24,7 @@ warning-1 += $(call cc-option, -Wmissing-prototypes) warning-1 += -Wold-style-definition warning-1 += $(call cc-option, -Wmissing-include-dirs) warning-1 += $(call cc-option, -Wunused-but-set-variable) +warning-1 += $(call cc-option, -Wunused-const-variable) warning-1 += $(call cc-disable-warning, missing-field-initializers) warning-1 += $(call cc-disable-warning, sign-compare)
gcc-6 started warning by default about variables that are not used anywhere and that are marked 'const', generating many false positives in an allmodconfig build, e.g.: arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=] arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=] drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=] drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=] drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=] drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=] This is similar to the existing -Wunused-but-set-variable warning that was added in an earlier release and that we disable by default now and only enable when W=1 is set, so it makes sense to do the same here. Once we have eliminated the majority of the warnings for both, we can put them back into the default list. We probably want this in backport kernels as well, to allow building them with gcc-6 without introducing extra warnings. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: stable@vger.kernel.org --- I had originally started testing with gcc-6 a while ago and turned off this option in my build scripts because it was too noisy. I fixed all the other warnings I got and forgot about it until Olof mentioned it when he upgraded his build bot and the warnings started exploding. Makefile | 5 +++-- scripts/Makefile.extrawarn | 1 + 2 files changed, 4 insertions(+), 2 deletions(-)