Kernel build fails on ppc64le with: . . . BUILDING A KERNEL FOR ppc64le... + cd linux-4.0.0-0.rc4.git0.1.fc22.ppc64le + BuildKernel vmlinux vmlinux + MakeTarget=vmlinux + KernelImage=vmlinux + Flavour= + Flav= + InstallName=vmlinuz + Config=kernel-4.0.0-ppc64le.config + DevelDir=/usr/src/kernels/4.0.0-0.rc4.git0.1.fc22.ppc64le + '[' vmlinux = vmlinux ']' + CopyKernel=cp_vmlinux + KernelVer=4.0.0-0.rc4.git0.1.fc22.ppc64le + echo BUILDING A KERNEL FOR ppc64le... + perl -p -i -e 's/^EXTRAVERSION.*/EXTRAVERSION = -0.rc4.git0.1.fc22.ppc64le/' Makefile + make -s mrproper + cp configs/kernel-4.0.0-ppc64le.config .config + chmod +x scripts/sign-file ++ head -1 .config ++ cut -b 3- + Arch=powerpc + echo USING ARCH=powerpc USING ARCH=powerpc + make -s ARCH=powerpc oldnoconfig + make -s ARCH=powerpc V=1 -j16 vmlinux arch/powerpc/kernel/vdso32/gettimeofday.S: Assembler messages: arch/powerpc/kernel/vdso32/gettimeofday.S:42: Error: syntax error; found `@', expected `,' arch/powerpc/kernel/vdso32/gettimeofday.S:42: Error: junk at end of line: `@local' arch/powerpc/kernel/vdso32/gettimeofday.S:48: Error: syntax error; found `@', expected `,' arch/powerpc/kernel/vdso32/gettimeofday.S:48: Error: junk at end of line: `@local' arch/powerpc/kernel/vdso32/gettimeofday.S:83: Error: syntax error; found `@', expected `,' arch/powerpc/kernel/vdso32/gettimeofday.S:83: Error: junk at end of line: `@local' arch/powerpc/kernel/vdso32/gettimeofday.S:87: Error: syntax error; found `@', expected `,' arch/powerpc/kernel/vdso32/gettimeofday.S:87: Error: junk at end of line: `@local' arch/powerpc/kernel/vdso32/gettimeofday.S:195: Error: syntax error; found `@', expected `,' arch/powerpc/kernel/vdso32/gettimeofday.S:195: Error: junk at end of line: `@local' arch/powerpc/kernel/vdso32/Makefile:42: recipe for target 'arch/powerpc/kernel/vdso32/gettimeofday.o' failed make[2]: *** [arch/powerpc/kernel/vdso32/gettimeofday.o] Error 1 scripts/Makefile.build:403: recipe for target 'arch/powerpc/kernel/vdso32' failed make[1]: *** [arch/powerpc/kernel/vdso32] Error 2 Makefile:951: recipe for target 'arch/powerpc/kernel' failed make: *** [arch/powerpc/kernel] Error 2 make: *** Waiting for unfinished jobs.... . . . Failed build: http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2442927 This started to happened with gcc-5.0.0-0.19.fc22 and newer on ppc64le, BE seems unaffected. As last successfully built kernel (kernel-4.0.0-0.rc3.git0.1.fc22) fails same way with newer gcc, this makes me believe this is more probably issue in gcc, than in kernel.
both the failed and successful builds used binutils-2.25-5.fc22.ppc64le
Is that reproducible? Can you try compiling just the arch/powerpc/kernel/vdso32/gettimeofday.S file?
The problem is that powerpc64le is not a multilib target, we don't really support -m32 on ppc64le. So, it is a kernel bug (or kernel configuration bug) to attempt to compile 32-bit ppc64le code with it. Only ppc64 big endian supports multilib (though in Fedora in a very limited way, as no 32-bit packages are built these days).
Also you can have a look to https://bugs.launchpad.net/ubuntu/trusty/+source/linux/+bug/1433809 to find a bypass
So not only kernel is affected by the gcc change, but also grub2 (http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2449339). And we will need some solution ...
Jakub, seems that without the 32-bit support on LE we are stuck :-( Can you add it back in the next gcc build? We have no mean to workaround the problems for F-22, not sure about F-23.
As fixing the kernel will take time and the grub2 situation is completely unclear, I propose to add the necessary options from https://bugs.launchpad.net/ubuntu/trusty/+source/linux/+bug/1433809/comments/2 to our gcc5
Could we enable just the 32 bit code generator without the multilibs? Would that address the problem?
(In reply to Jeff Law from comment #8) > Could we enable just the 32 bit code generator without the multilibs? Would > that address the problem? Yes, I believe so, we don't need multilib.
the options recommended by Alan Modra are --enable-targets=powerpcle-linux --disable-multilib
kernel now builds again (http://ppc.koji.fedoraproject.org/koji/buildinfo?buildID=302160)
gcc-5.0.1-0.1.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/gcc-5.0.1-0.1.fc22
gcc-5.0.1-0.1.fc22, libtool-2.4.2-33.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.