Subject: Re: [PATCH/RFC] Re: linux-next: build failure after merge of the luto-misc tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 20 Jul 2016 13:18:14 +1000

Hi Arnaldo,

On Wed, 20 Jul 2016 00:09:24 -0300 Arnaldo Carvalho de Melo <[email-masked]> wrote:
>
> Em Tue, Jul 19, 2016 at 07:57:24PM -0700, Andy Lutomirski escreveu:
> > On Tue, Jul 19, 2016 at 7:52 PM, Arnaldo Carvalho de Melo
> > <[email-masked]> wrote:  
> > > Em Wed, Jul 20, 2016 at 09:53:33AM +1000, Stephen Rothwell escreveu:  
> > >> On Wed, 20 Jul 2016 09:21:57 +1000 Stephen Rothwell <[email-masked]> wrote:  
> > >> > On Tue, 19 Jul 2016 14:45:51 -0300 Arnaldo Carvalho de Melo <[email-masked]> wrote:  
> > >> > >  #if BITS_PER_LONG != __BITS_PER_LONG
> > >> > > +#include <linux/stringify.h>
> > >> > > +#pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
> > >> > > +#pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
> > >> > >  #error Inconsistent word size. Check asm/bitsperlong.h
> > >> > >  #endif  
> > >  
> > >> > I added those three lines to the file (just in yesterday's linux-next
> > >> > was easiest) and got this:  
> > >  
> > >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:14:9: note: #pragma message: BITS_PER_LONG=(8 * 8)
> > >> >  #pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)  
> > >  
> > >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:15:9: note: #pragma message: __BITS_PER_LONG=32
> > >> >  #pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)  
> > >  
> > >> > (a few times, of course)  
> > >  
> > >> So I applied this:  
> > >  
> > >> +++ b/tools/arch/x86/include/uapi/asm/bitsperlong.h
> > >> @@ -4,6 +4,12 @@
> > >>  #if defined(__x86_64__) && !defined(__ILP32__)
> > >>  # define __BITS_PER_LONG 64
> > >>  #else
> > >> +#ifndef __x86_64__
> > >> +#pragma message "__x86_64__ is not defined"
> > >> +#endif
> > >> +#ifdef __ILP32__
> > >> +#pragma message "__ILP32__ is defined"
> > >> +#endif
> > >>  # define __BITS_PER_LONG 32
> > >>  #endif  
> > >  
> > >> and got this:  
> > >  
> > >> /home/sfr/next/next/tools/arch/x86/include/uapi/asm/bitsperlong.h:8:9: note: #pragma message: __x86_64__ is not defined
> > >>  #pragma message "__x86_64__ is not defined"  
> > >
> > > Humm, it seems that the compiler used is not the cross one, but the
> > > native, check if, say, __powerpc__ is defined.
> > >  
> > 
> > This is still vdso2c, right?  It's a hostprog.
> > 
> > This stuff is utterly screwed up.  We're building a hostprog for an
> > x86_64 kernel cross-compiled from powerpc.  We should presumably be
> > pullng in powerpc's uapi headers for hostprogs because it's a *host*
> > prog.  
> 
> Unsure, I thought that what was breaking was objtool (tools/objtool),
> Stephen?

Yes, it is objtool, but that is also a host program and so should be
using the host architectures includes, right?  Thanks for pointing that out
Andy,

-- 
Cheers,
Stephen Rothwell