]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
powerpc: Add configurable -Werror for arch/powerpc
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 9 Jun 2009 20:48:51 +0000 (20:48 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 16 Jun 2009 04:15:45 +0000 (14:15 +1000)
Add the option to build the code under arch/powerpc with -Werror.

The intention is to make it harder for people to inadvertantly introduce
warnings in the arch/powerpc code. It needs to be configurable so that
if a warning is introduced, people can easily work around it while it's
being fixed.

The option is a negative, ie. don't enable -Werror, so that it will be
turned on for allyes and allmodconfig builds.

The default is n, in the hope that developers will build with -Werror,
that will probably lead to some build breaks, I am prepared to be flamed.

It's not enabled for math-emu, which is a steaming pile of warnings.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/Kconfig.debug
arch/powerpc/kernel/Makefile
arch/powerpc/kvm/Makefile
arch/powerpc/lib/Makefile
arch/powerpc/mm/Makefile
arch/powerpc/oprofile/Makefile
arch/powerpc/platforms/Makefile
arch/powerpc/sysdev/Makefile
arch/powerpc/xmon/Makefile

index d79a902d155af69406d9d8b9199ea4519cd44669..3b1005185390557558c99d3efb971824b8b76b68 100644 (file)
@@ -2,6 +2,23 @@ menu "Kernel hacking"
 
 source "lib/Kconfig.debug"
 
+config PPC_DISABLE_WERROR
+       bool "Don't build arch/powerpc code with -Werror"
+       default n
+       help
+         This option tells the compiler NOT to build the code under
+         arch/powerpc with the -Werror flag (which means warnings
+         are treated as errors).
+
+         Only enable this if you are hitting a build failure in the
+         arch/powerpc code caused by a warning, and you don't feel
+         inclined to fix it.
+
+config PPC_WERROR
+       bool
+       depends on !PPC_DISABLE_WERROR
+       default y
+
 config PRINT_STACK_DEPTH
        int "Stack depth to print" if DEBUG_KERNEL
        default 64
index 612b0c4dc26d90d818d299805a34c7b453eb09c3..6a4fb29a06184c6988bec3cafb7f36215a60280b 100644 (file)
@@ -4,6 +4,8 @@
 
 CFLAGS_ptrace.o                += -DUTS_MACHINE='"$(UTS_MACHINE)"'
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifeq ($(CONFIG_PPC64),y)
 CFLAGS_prom_init.o     += -mno-minimal-toc
 endif
index 4b2df66c79d853afd54f45a325ebf552c704b7d3..459c7ee580f75dbc38eb084c56094b8c621cfaa2 100644 (file)
@@ -2,6 +2,8 @@
 # Makefile for Kernel-based Virtual Machine module
 #
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 EXTRA_CFLAGS += -Ivirt/kvm -Iarch/powerpc/kvm
 
 common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o)
index 29b742b90f1f9af47951601d3f58f7db5ea94823..3040dac18a37e2b09287823c96acca5ec5f94863 100644 (file)
@@ -2,6 +2,8 @@
 # Makefile for ppc-specific library files..
 #
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifeq ($(CONFIG_PPC64),y)
 EXTRA_CFLAGS           += -mno-minimal-toc
 endif
index c4bcf072cb3ca5de9ccbec1098eeb5ca067e713b..2d2192e48de73f18c2ea968962569b424a345978 100644 (file)
@@ -2,6 +2,8 @@
 # Makefile for the linux ppc-specific parts of the memory manager.
 #
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifeq ($(CONFIG_PPC64),y)
 EXTRA_CFLAGS   += -mno-minimal-toc
 endif
index 2ef6b0dddd8c3fec59df6ea6db780facd6171d36..73e1c2ca05521e91a795a46aabeb08dab76d9954 100644 (file)
@@ -1,3 +1,5 @@
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifeq ($(CONFIG_PPC64),y)
 EXTRA_CFLAGS   += -mno-minimal-toc
 endif
index f7419198e63531aec1138b4852c4525fb198e60e..a6812ee00100e52869a0b52bb252fba49d13e0e7 100644 (file)
@@ -1,4 +1,6 @@
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 obj-$(CONFIG_FSL_ULI1575)      += fsl_uli1575.o
 
 obj-$(CONFIG_PPC_PMAC)         += powermac/
index 2d1c87dd5d1470e79400cb1f337c27f6c590ebdb..d073bfdd222a7d8225fe04366bc8b9c28087c43e 100644 (file)
@@ -1,3 +1,5 @@
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifeq ($(CONFIG_PPC64),y)
 EXTRA_CFLAGS                   += -mno-minimal-toc
 endif
index 9cb03b71b9d66535dbcb95abe9c44d9910739243..85ab97ab840a19172662b712f1f345850918a090 100644 (file)
@@ -1,5 +1,7 @@
 # Makefile for xmon
 
+subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
+
 ifdef CONFIG_PPC64
 EXTRA_CFLAGS += -mno-minimal-toc
 endif