Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1614283 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2017-03-31 22:50 +0200 |
| Last post | 2017-04-05 19:20 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang Arnd Bergmann <arnd@arndb.de> - 2017-03-31 22:50 +0200
Re: [PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang Kees Cook <keescook@chromium.org> - 2017-04-01 02:10 +0200
Re: [PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-04-02 23:50 +0200
Re: [PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-04-05 19:20 +0200
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-03-31 22:50 +0200 |
| Subject | [PATCH] kbuild, LLVMLinux: Add -Werror to cc-option to support clang |
| Message-ID | <trbEC-15S-3@gated-at.bofh.it> |
From: Mark Charlebois <charlebm@gmail.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@gmail.com>
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
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
[toc] | [next] | [standalone]
| From | Kees Cook <keescook@chromium.org> |
|---|---|
| Date | 2017-04-01 02:10 +0200 |
| Message-ID | <treM9-3dJ-3@gated-at.bofh.it> |
| In reply to | #1614283 |
On Fri, Mar 31, 2017 at 1:38 PM, Arnd Bergmann <arnd@arndb.de> wrote: > From: Mark Charlebois <charlebm@gmail.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@gmail.com> > Signed-off-by: Behan Webster <behanw@converseincode.com> > Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kees Cook <keescook@chromium.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
[toc] | [prev] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2017-04-02 23:50 +0200 |
| Message-ID | <trVxM-6aX-1@gated-at.bofh.it> |
| In reply to | #1614283 |
Hi Arnd, 2017-04-01 5:38 GMT+09:00 Arnd Bergmann <arnd@arndb.de>: > From: Mark Charlebois <charlebm@gmail.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@gmail.com> > Signed-off-by: Behan Webster <behanw@converseincode.com> > Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Thank you for forwarding this patch. The code diff looks good to me, but I'd like to be sure about git-log before applying it. As far as I tested, the statement "Clang will warn about unknown warnings but will not return false unless -Werror is set." does not seem true on recent versions. [1] When I use version 3.3 masahiro@grover:~$ clang --version clang version 3.3 (tags/RELEASE_33/final) Target: x86_64-unknown-linux-gnu Thread model: posix masahiro@grover:~$ clang -foobar -c -x c /dev/null clang: warning: argument unused during compilation: '-foobar' masahiro@grover:~$ echo $? 0 [2] When I use version 3.4 masahiro@grover:~$ clang --version clang version 3.4 (tags/RELEASE_34/final) Target: x86_64-unknown-linux-gnu Thread model: posix masahiro@grover:~$ clang -foobar -c -x c /dev/null clang: error: unknown argument: '-foobar' masahiro@grover:~$ echo $? 1 I agree we can apply this patch anyway even if the original motivation is not true anymore. Can you check it out, and add a little more comments if you agree? -- Best Regards Masahiro Yamada
[toc] | [prev] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2017-04-05 19:20 +0200 |
| Message-ID | <tsWLa-5w8-69@gated-at.bofh.it> |
| In reply to | #1614827 |
Hi Arnd, 2017-04-03 6:46 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>: > Hi Arnd, > > > 2017-04-01 5:38 GMT+09:00 Arnd Bergmann <arnd@arndb.de>: >> From: Mark Charlebois <charlebm@gmail.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@gmail.com> >> Signed-off-by: Behan Webster <behanw@converseincode.com> >> Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > > Thank you for forwarding this patch. > > > The code diff looks good to me, > but I'd like to be sure about git-log before applying it. > > > As far as I tested, the statement > "Clang will warn about unknown warnings but will not > return false unless -Werror is set." does not seem true > on recent versions. > > > > [1] When I use version 3.3 > > masahiro@grover:~$ clang --version > clang version 3.3 (tags/RELEASE_33/final) > Target: x86_64-unknown-linux-gnu > Thread model: posix > masahiro@grover:~$ clang -foobar -c -x c /dev/null > clang: warning: argument unused during compilation: '-foobar' > masahiro@grover:~$ echo $? > 0 > > > [2] When I use version 3.4 > > masahiro@grover:~$ clang --version > clang version 3.4 (tags/RELEASE_34/final) > Target: x86_64-unknown-linux-gnu > Thread model: posix > masahiro@grover:~$ clang -foobar -c -x c /dev/null > clang: error: unknown argument: '-foobar' > masahiro@grover:~$ echo $? > 1 > > > > > I agree we can apply this patch anyway > even if the original motivation is not true anymore. > > > Can you check it out, > and add a little more comments if you agree? Sorry. This was my misunderstanding. You do not have to answer my question. I found this patch is still useful for recent clang versions. I will apply this patch shortly. Thanks! -- Best Regards Masahiro Yamada
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web