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

From: Arnaldo Carvalho de Melo
Date: Tue Jul 19 2016 - 23:09:32 EST


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
> <acme@xxxxxxxxxx> 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 <sfr@xxxxxxxxxxxxxxxx> wrote:
> >> > On Tue, 19 Jul 2016 14:45:51 -0300 Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> 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?

- Arnaldo