All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Marek <mmarek@suse.cz>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Dave Jones <davej@redhat.com>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Sam Ravnborg <sam@ravnborg.org>
Subject: Re: linux-next: build warning after merge of the kbuild tree
Date: Mon, 2 May 2011 13:13:37 +0200	[thread overview]
Message-ID: <20110502111337.GA15769@sepie.suse.cz> (raw)
In-Reply-To: <20110502145338.7be2fdbc.sfr@canb.auug.org.au>

On Mon, May 02, 2011 at 02:53:38PM +1000, Stephen Rothwell wrote:
> Hi Dave,
> 
> hmmm,
> 
> On my build machine:
> $ /opt/cross/gcc-4.4.5-nolibc/x86_64-linux/bin/x86_64-linux-gcc -Wno-unused-but-set-variable -c -xc /dev/null -o /tmp/xx.o; echo $?
> 0
> $ /opt/cross/gcc-4.4.5-nolibc/x86_64-linux/bin/x86_64-linux-gcc -Wunused-but-set-variable -c -xc /dev/null -o /tmp/xx.o; echo $?
> cc1: error: unrecognized command line option "-Wunused-but-set-variable"
> 1
> $ gcc -Wno-unused-but-set-variable -c -xc /dev/null -o /tmp/xx.o; echo $?
> 0
> $ gcc -Wunused-but-set-variable -c -xc /dev/null -o /tmp/xx.o; echo $?
> cc1: error: unrecognized command line option "-Wunused-but-set-variable"
> 1

I reproduced this myself with 4.5.1 and 4.6.0 and was about to file a
bug at gcc.gnu.org, but I learned that this is a feature :-(, see here:
http://gcc.gnu.org/PR28322 . It treats invalid -Wno-* options as
warnings and it only issues them when there is another warning or error
in the source.

I have a patch below, but after learning the above, I'm going to rewrite
it to some more generic cc-disable-warning fuction, because it can hit
us anytime again.

Michal

Subject: [PATCH] kbuild: Fix passing -Wno-unused-but-set-variable to some gcc versions

Some versions of gcc will happily accept -Wno-<anything> in the
cc-option test and complain later when compiling some random file that
-Wno-unused-but-set-variable is not recognized. Work around this by
testing if gcc supports the -Wunused-but-set-variable option insteaed.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Michal Marek <mmarek@suse.cz>

diff --git a/Makefile b/Makefile
index 4527dc2..db6b6df 100644
--- a/Makefile
+++ b/Makefile
@@ -569,7 +569,12 @@ endif
 
 # This warning generated too much noise in a regular build.
 # Use make W=1 to enable this warning (see scripts/Makefile.build)
-KBUILD_CFLAGS += $(call cc-option, -Wno-unused-but-set-variable)
+# We test for support of the -Wunused-but-set-variable option, because
+# some version of gcc will happily accept any -Wno-* switch and complain
+# later during build.
+ifeq ($(call cc-option-yn, -Wunused-but-set-variable), y)
+KBUILD_CFLAGS += -Wno-unused-but-set-variable
+endif
 
 ifdef CONFIG_FRAME_POINTER
 KBUILD_CFLAGS	+= -fno-omit-frame-pointer -fno-optimize-sibling-calls

  reply	other threads:[~2011-05-02 11:13 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-02  2:18 linux-next: build warning after merge of the kbuild tree Stephen Rothwell
2011-05-02  2:24 ` Dave Jones
2011-05-02  3:45   ` Stephen Rothwell
2011-05-02  4:02     ` Dave Jones
2011-05-02  4:44       ` Stephen Rothwell
2011-05-02  4:24     ` Stephen Rothwell
2011-05-02  4:36       ` Dave Jones
2011-05-02  5:57         ` Stephen Rothwell
2011-05-02  4:53       ` Stephen Rothwell
2011-05-02 11:13         ` Michal Marek [this message]
2011-05-02 12:13           ` [PATCH] kbuild: Fix passing -Wno-* options to gcc 4.4+ Michal Marek
2011-05-03  0:44             ` Stephen Rothwell
2011-05-03  8:52               ` Michal Marek
2011-05-02 15:17           ` linux-next: build warning after merge of the kbuild tree Valdis.Kletnieks
2011-05-02 15:31             ` Michal Marek
  -- strict thread matches above, loose matches on Subject: below --
2023-10-03 23:13 Stephen Rothwell
2023-08-28  4:57 Stephen Rothwell
2023-08-28 17:28 ` Nick Desaulniers
2021-08-19 23:28 Stephen Rothwell
2021-08-23  0:25 ` Masahiro Yamada
2020-12-20 22:10 Stephen Rothwell
2020-12-09  9:30 Stephen Rothwell
2020-12-09 13:01 ` Dominique Martinet
2020-12-09 20:56   ` Stephen Rothwell
2020-12-10  6:47     ` Dominique Martinet
2020-12-14 20:44 ` Stephen Rothwell
2017-12-10 22:52 Stephen Rothwell
2017-12-11  0:22 ` Masahiro Yamada
2017-12-11 16:11   ` Bart Van Assche
2016-11-30 23:06 Stephen Rothwell
2016-12-01  2:00 ` Nicholas Piggin
2010-12-23  0:00 Stephen Rothwell
2010-09-30  0:52 Stephen Rothwell
2010-09-30 20:24 ` Michal Marek
2010-09-30  0:50 Stephen Rothwell
2010-09-30 20:25 ` Michal Marek

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=20110502111337.GA15769@sepie.suse.cz \
    --to=mmarek@suse.cz \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sfr@canb.auug.org.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.