On Mon, Feb 21, 2011 at 12:03:22PM +0100, Borislav Petkov wrote: > > Add a 'W=1' Makefile switch which adds additional checking per build > object. > > The idea behind this option is targeted at developers who, in the > process of writing their code, want to do the occasional > > make W=1 [target.o] > > and let gcc do more extensive code checking for them. Then, they > could eyeball the output for valid gcc warnings about various > bugs/discrepancies which are not reported during the normal build > process. > > For more background information and a use case, read through this > thread: http://marc.info/?l=kernel-janitors&m=129802065918147&w=2 > > -v4: Enable this for gcc only. Also, check for options which are not > supported by every gcc version we use to build the kernel. Adding those > checks for _every_ option slows down the build noticeably so be sensible > here and add it only when your gcc version chokes on a particular > option. > > -v[2..3]: move to Makefile.build > > Cc: Michal Marek <mmarek@xxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: linux-kbuild@xxxxxxxxxxxxxxx > Acked-by: Ingo Molnar <mingo@xxxxxxx> > Signed-off-by: Borislav Petkov <bp@xxxxxxxxx> > --- > Makefile | 6 ++++++ > scripts/Makefile.build | 37 ++++++++++++++++++++++++++++++++++++- > 2 files changed, 42 insertions(+), 1 deletions(-) > > diff --git a/Makefile b/Makefile > index c9c8c8f..c3bca9c 100644 > --- a/Makefile > +++ b/Makefile > @@ -102,6 +102,11 @@ ifeq ("$(origin O)", "command line") > KBUILD_OUTPUT := $(O) > endif > > +ifeq ("$(origin W)", "command line") > + KBUILD_ENABLE_EXTRA_GCC_CHECKS = 1 > + export KBUILD_ENABLE_EXTRA_GCC_CHECKS > +endif It is simpler to just write: export KBUILD_ENABLE_EXTRA_GCC_CHECKS := 1 > +# > +# make W=1 settings > +# > +# $(call cc-option... ) handles gcc -W.. options which > +# are not supported by all versions of the compiler > +ifdef KBUILD_ENABLE_EXTRA_GCC_CHECKS > +ifneq ($(call cc-version),) This check looks redundant. You introduce a new environment variable "KBUILD_ENABLE_EXTRA_GCC_CHECKS". We actually ty to document these in Documentation/kbuild/kbuild.txt Fix the above and you can add my: Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Sam -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html