From: Sam Ravnborg <sam@ravnborg.org>
To: Borislav Petkov <bp@alien8.de>, Michal Marek <mmarek@suse.cz>,
torvalds@linux-foundation.org, x86@kernel.org,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
linux-kbuild@vger.kernel.org, bp@amd64.org
Subject: Re: [PATCH -v4] kbuild: Add extra gcc checks
Date: Mon, 28 Feb 2011 19:38:16 +0100 [thread overview]
Message-ID: <20110228183816.GA1759@merkur.ravnborg.org> (raw)
In-Reply-To: <20110221110322.GA9819@liondog.tnic>
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@suse.cz>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: linux-kbuild@vger.kernel.org
> Acked-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Borislav Petkov <bp@alien8.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@ravnborg.org>
Sam
next prev parent reply other threads:[~2011-02-28 18:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-21 11:03 Borislav Petkov
2011-02-28 18:24 ` Borislav Petkov
2011-02-28 18:38 ` Sam Ravnborg [this message]
2011-02-28 21:07 ` Arnd Bergmann
2011-02-28 21:31 ` Borislav Petkov
2011-03-01 11:35 ` Arnd Bergmann
2011-03-01 13:20 ` Américo Wang
2011-03-01 14:56 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110228183816.GA1759@merkur.ravnborg.org \
--to=sam@ravnborg.org \
--cc=bp@alien8.de \
--cc=bp@amd64.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mmarek@suse.cz \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®