Thread (12 messages) flat view 12 messages, 5 authors, 2015-11-10

Re: [PATCH] powerpc: allow cross-compilation of ppc64 kernel

From: Laurent Vivier <hidden>
Date: 2015-11-10 07:54:48
Also in: lkml


Le 10/11/2015 01:29, Michael Ellerman a écrit :
On Sat, 2015-11-07 at 12:35 +0100, Laurent Vivier wrote:
quoted
Le 07/11/2015 00:24, Scott Wood a écrit :
quoted
On Fri, 2015-11-06 at 23:22 +0100, Laurent Vivier wrote:
quoted
Le 06/11/2015 22:09, Scott Wood a écrit :
quoted
On Thu, 2015-11-05 at 12:47 +0100, Laurent Vivier wrote:
quoted
When I try to cross compile a ppc64 kernel, it generally
fails on the VDSO stage. This is true for powerpc64 cross-
compiler, but also when I try to build a ppc64le kernel
on a ppc64 host.

VDSO64L fails:

  VDSO64L arch/powerpc/kernel/vdso64/vdso64.so.dbg
/usr/bin/powerpc64-linux-gnu-ld: arch/powerpc/kernel/vdso64/sigtramp.o:
file class ELFCLASS64 incompatible with ELFCLASS32
/usr/bin/powerpc64-linux-gnu-ld: final link failed: File in wrong format

This fails because gcc calls "collect2" with
"--oformat elf32-powerpcle" with ppc64 objects, without the
"--oformat" ld works well because it use the format of the
first object as output format.

As this case is correctly managed to build the other kernel
objects, this patch replaces $(GCC) by $(LD) to generate the
VDSO objects.
quoted
So at this point, I can:

1- either fix my compiler,
2- or fix the vdso64 linker command.
Thank you Scott. With the help of the comment from Segher, I can choose
#1 now :)
What distro/toolchain did you hit this on?
fedora 23.
I actually wrote this same patch a while back, but from memory it broke in some
configurations. So I never merged it. I'll see if I can find my notes and work
out exactly why it didn't work, maybe we should merge it anyway, even though
the real bug is a toolchain bug.
On fedora, there is also a bug in binutils configuration where ld is not
able to manage ppc64le binaries on ppc64 host, but I've already sent a
fix for that and it is now in rawhide (will be in fedora 24).

https://bugzilla.redhat.com/show_bug.cgi?id=1275709

Laurent
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help