On Fri, Jul 22, 2016 at 10:08 PM, Stephen Rothwell <s...@canb.auug.org.au> wrote: > Hi Arnaldo, > > On Fri, 22 Jul 2016 16:57:34 -0300 Arnaldo Carvalho de Melo <a...@kernel.org> > wrote: >> >> Em Fri, Jul 22, 2016 at 02:44:17PM -0500, Josh Poimboeuf escreveu: >> > On Fri, Jul 22, 2016 at 04:36:55PM -0300, Arnaldo Carvalho de Melo wrote: >> > > Em Fri, Jul 22, 2016 at 02:19:20PM -0500, Josh Poimboeuf escreveu: >> > > > On Fri, Jul 22, 2016 at 11:37:39AM -0300, Arnaldo Carvalho de Melo >> > > > wrote: >> > > > > I.e. with the two patches I mentioned, that are equivalent to the >> > > > > last patch I >> > > > > sent to Stephen for testing, we would end up with HOSTARCH=powerpc >> > > > > and >> > > > > ARCH=x86, no? >> >> > > > Thanks for spelling it out, that helped a lot. >> >> > > Glad you liked it, I had to do it for my own sanity :-) >> >> > > And something that gave me mixed feelings was an e-mail from the kbuild >> > > test bot that noticed my perf/core changes and said that the build was >> > > broken for "make ARCH=x86_64", so I had to reinstate this part: >> >> > > ifeq ($(ARCH),x86_64) >> > > ARCH := x86 >> > > endif >> >> > > Because, as you say, 'make ARCH=x86' works :-\ I think it will not be >> > > needed with your patch, right? I'm checking your patch below right now, >> >> > Yeah, that shouldn't be needed with my patch. I think either would >> > work, but my patch is more of a permanent solution. >> >> Sure, I left it there because then we don't have bisection broke at that >> fix I made, i.e. 'make ARCH=x86_64' works at that point too. >> >> I applied your patch and will push it to Ingo, now we must cross our >> fingers so that Stephen doesn't come back to us once more telling it is >> still broken :o) > > Unfortunately, this is what I get when I just build perf/core: > > DESCEND objtool > CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/builtin-check.o > LD /home/sfr/next/x86_64_allmodconfig/tools/objtool/objtool-in.o > Warning: objtool: x86 instruction decoder differs from kernel > LINK /home/sfr/next/x86_64_allmodconfig/tools/objtool/objtool > In file included from > /home/sfr/next/next/arch/x86/include/uapi/asm/bitsperlong.h:10:0, > from > /home/sfr/next/next/include/uapi/asm-generic/int-ll64.h:11, > from /home/sfr/next/next/include/uapi/asm-generic/types.h:6, > from /home/sfr/next/next/arch/x86/include/uapi/asm/types.h:4, > from /home/sfr/next/next/tools/include/linux/types.h:9, > from /home/sfr/next/next/include/uapi/linux/elf.h:4, > from /home/sfr/next/next/arch/x86/entry/vdso/vdso2c.c:66: > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:13:2: error: > #error Inconsistent word size. Check asm/bitsperlong.h > #error Inconsistent word size. Check asm/bitsperlong.h > ^ > > The be clear: this is a ppc64le hosted, x86_64 target cross build. > > I than added the following patch, and the build finishes successfully. > > From: Stephen Rothwell <s...@canb.auug.org.au> > Date: Sat, 23 Jul 2016 14:35:40 +1000 > Subject: [PATCH] x86: make the vdso2c compiler use the host architecture > headers
Aha, I missed that bit in the makefile. Acked-by: Andy Lutomirski <l...@kernel.org> > > Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au> > --- > arch/x86/entry/vdso/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile > index 253b72eaade6..25e88c030c47 100644 > --- a/arch/x86/entry/vdso/Makefile > +++ b/arch/x86/entry/vdso/Makefile > @@ -55,7 +55,7 @@ VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ > $(obj)/vdso64.so.dbg: $(src)/vdso.lds $(vobjs) FORCE > $(call if_changed,vdso) > > -HOST_EXTRACFLAGS += -I$(srctree)/tools/include -I$(srctree)/include/uapi > -I$(srctree)/arch/x86/include/uapi > +HOST_EXTRACFLAGS += -I$(srctree)/tools/include -I$(srctree)/include/uapi > -I$(srctree)/arch/$(SUBARCH)/include/uapi > hostprogs-y += vdso2c > > quiet_cmd_vdso2c = VDSO2C $@ > -- > 2.8.1 > > There may be a more correct way to do this ... > -- >Can Cheers, > Stephen Rothwell -- Andy Lutomirski AMA Capital Management, LLC