[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110228183816.GA1759@merkur.ravnborg.org>
Date: Mon, 28 Feb 2011 19:38:16 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: Borislav Petkov <bp@...en8.de>, Michal Marek <mmarek@...e.cz>,
torvalds@...ux-foundation.org, x86@...nel.org,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
linux-kbuild@...r.kernel.org, bp@...64.org
Subject: Re: [PATCH -v4] kbuild: Add extra gcc checks
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@...e.cz>
> Cc: Sam Ravnborg <sam@...nborg.org>
> Cc: linux-kbuild@...r.kernel.org
> Acked-by: Ingo Molnar <mingo@...e.hu>
> Signed-off-by: Borislav Petkov <bp@...en8.de>
> ---
> 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@...nborg.org>
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists