[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXu5j+jh6qS2S6h=yjcPWY4uYFEEgjy+7MYs7LNoRpNk5ORbQ@mail.gmail.com>
Date: Fri, 31 Mar 2017 16:59:31 -0700
From: Kees Cook <keescook@...omium.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>,
Mark Charlebois <charlebm@...il.com>,
Behan Webster <behanw@...verseincode.com>,
Michal Marek <mmarek@...e.com>,
Nicolas Pitre <nicolas.pitre@...aro.org>,
Emese Revfy <re.emese@...il.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang
On Fri, Mar 31, 2017 at 1:38 PM, Arnd Bergmann <arnd@...db.de> wrote:
> From: Mark Charlebois <charlebm@...il.com>
>
> Clang will warn about unknown warnings but will not return false
> unless -Werror is set. GCC will return false if an unknown
> warning is passed.
>
> Adding -Werror make both compiler behave the same.
>
> [arnd: it turns out we need the same patch for testing whether -ffunction-sections
> works right with gcc. I've build tested extensively with this patch
> applied, so let's just merge this one now.]
>
> Signed-off-by: Mark Charlebois <charlebm@...il.com>
> Signed-off-by: Behan Webster <behanw@...verseincode.com>
> Reviewed-by: Jan-Simon Möller <dl9pf@....de>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Acked-by: Kees Cook <keescook@...omium.org>
-Kees
> ---
> scripts/Kbuild.include | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index d6ca649cb0e9..a70fd26204de 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -116,12 +116,12 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
> # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
>
> cc-option = $(call try-run,\
> - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
> + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
>
> # cc-option-yn
> # Usage: flag := $(call cc-option-yn,-march=winchip-c6)
> cc-option-yn = $(call try-run,\
> - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
> + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
>
> # cc-option-align
> # Prefix align with either -falign or -malign
> @@ -131,7 +131,7 @@ cc-option-align = $(subst -functions=0,,\
> # cc-disable-warning
> # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
> cc-disable-warning = $(call try-run,\
> - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
> + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
>
> # cc-name
> # Expands to either gcc or clang
> --
> 2.9.0
>
--
Kees Cook
Pixel Security
Powered by blists - more mailing lists