Linux SPARSE checker discussions
 help / color / mirror / Atom feed
From: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
To: Christophe LEROY <christophe.leroy@c-s.fr>
Cc: Nick Desaulniers <ndesaulniers@google.com>,
	joe@perches.com, Kees Cook <keescook@chromium.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-sparse@vger.kernel.org, sparse@chrisli.org
Subject: Re: Conflict between sparse and commit cafa0010cd51f ("Raise the minimum required gcc version to 4.6")
Date: Mon, 10 Sep 2018 11:28:36 +0200	[thread overview]
Message-ID: <20180910092835.v5nex5nzfgtl475m@ltop.local> (raw)
In-Reply-To: <e6db84f1-ee8d-9377-5f1c-6a0e7972ba50@c-s.fr>

On Mon, Sep 10, 2018 at 08:49:07AM +0200, Christophe LEROY wrote:
> Le 07/09/2018 à 20:19, Nick Desaulniers a écrit :
> > On Fri, Sep 7, 2018 at 11:13 AM Luc Van Oostenryck wrote:
> > > 
> > > Sparse expand these macros to the same version than the compiler used
> > > to compile GCC. I find a bit strange though to have sparse v0.5.2 but
> > > using an old compiler.
> > 
> > So Christophe must have a version of gcc < 4.6 installed somewhere?
> > Does sparse use `cc`? If so, Christophe, does your `ls -l $(which cc)`
> > point to an old version of gcc maybe?
> 
> Indeed it looks like sparse expand these macros to the version of
> the compiler it was compiled with.
> 
> I'm building kernels for a powerpc platforms, with CROSS_COMPILE set
> to ppc-linux- and ppc-linux-gcc being version 5.4
> 
> However my build machine is a CentOS6 and the native gcc has version
> 4.4.7, so sparse expands that version.

OK, I see.
 
> Is there a way to get sparse in line with my cross compiler version
> and not with the local native version ?

When cross-compiling, there is also things like the machine word-size
and the endianness to take in account (they also default to the
native compiler used to compile sparse itself) as well as a few
defines (like __PPC64__). To be in line with your cross-compiler
you can use to the wrapper 'cgcc' (installed with sparse) and call
it, for example, like this:
	$ export REAL_CC=ppc-linux-gcc
	$ cgcc -target=ppcc64 -D_CALL_ELF=2 -D__GCC__=5 -D__GCC_MINOR__=4 ...
or, since this is for the kernel:
	$ export REAL_CC=ppc-linux-gcc
	$ make CHECK='cgcc -target=ppcc64 ...


I think this should solve it. Do not hesitate to report any
difficulties you may encounter.

-- Luc

  reply	other threads:[~2018-09-10  9:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <81a5fd11-366c-0897-4143-d8d041420a41@c-s.fr>
2018-09-07 14:33 ` Conflict between sparse and commit cafa0010cd51f ("Raise the minimum required gcc version to 4.6") Christophe LEROY
2018-09-07 17:22   ` Nick Desaulniers
2018-09-07 18:13     ` Luc Van Oostenryck
2018-09-07 18:19       ` Nick Desaulniers
2018-09-07 18:37         ` Luc Van Oostenryck
2018-09-10  6:49         ` Christophe LEROY
2018-09-10  9:28           ` Luc Van Oostenryck [this message]
2018-09-10  9:56             ` Christophe Leroy
2018-09-10 11:34               ` Luc Van Oostenryck
2018-09-10 13:19                 ` Christophe Leroy
2018-09-10 13:56                   ` Luc Van Oostenryck
2018-09-10 14:05                     ` Christophe LEROY
2018-09-10 15:15                       ` Luc Van Oostenryck

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=20180910092835.v5nex5nzfgtl475m@ltop.local \
    --to=luc.vanoostenryck@gmail.com \
    --cc=christophe.leroy@c-s.fr \
    --cc=joe@perches.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=sparse@chrisli.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