linux build failure seen building 32bit user space support on ppc64el

Bug #1433809 reported by Matthias Klose
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
High
Andy Whitcroft
Trusty
Won't Fix
High
Andy Whitcroft

Bug Description

linux build failure seen building 32bit user space support on ppc64el, using the toolchain from ubuntu-toolchain-r/ppa on trusty. complete build log at
https://launchpad.net/ubuntu/+archive/test-rebuild-20150317-security/+build/7070318

  VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S: Assembler messages:
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:42: Error: syntax error; found `@', expected `,'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:42: Error: junk at end of line: `@local'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:48: Error: syntax error; found `@', expected `,'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:48: Error: junk at end of line: `@local'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:83: Error: syntax error; found `@', expected `,'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:83: Error: junk at end of line: `@local'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:87: Error: syntax error; found `@', expected `,'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:87: Error: junk at end of line: `@local'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:195: Error: syntax error; found `@', expected `,'
/build/buildd/linux-3.13.0/arch/powerpc/kernel/vdso32/gettimeofday.S:195: Error: junk at end of line: `@local'
make[4]: *** [arch/powerpc/kernel/vdso32/gettimeofday.o] Error 1
make[3]: *** [arch/powerpc/kernel/vdso32] Error 2
make[3]: *** Waiting for unfinished jobs....

yeah, thanks for non-verbose build logs !!!

doing it the hard way, you see that this file was (and wants to be) compiled with -m32, and I assume with gcc finally dropping the multilib configurations for ppc64el, the kernel configury decides that it can do without -m32.

but why in the first place is this needed? there is no powerpcle user space.

I assume this issue is latent in all releases.

Matthias Klose (doko)
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu Trusty):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Matthias Klose (doko) wrote :

arch/powerpc/Makefile has:

HAS_BIARCH := $(call cc-option-yn, -m32)

but in vivid:

$ gcc-4.8 -m32 -c foo.c
foo.c:1:0: error: -m32 not supported in this configuration
$ gcc-4.9 -m32 -c foo.c
foo.c:1:0: error: -m32 not supported in this configuration
$ gcc-5 -m32 -c foo.c
foo.c:1:0: error: -m32 not supported in this configuration

and the vdso32 stuff seems to be built unconditionally.

Revision history for this message
Alan Modra (amodra) wrote :

It does seem a bit pointless to be building a 32-bit vdso on powerpc64le where you know there is no 32-bit user runtime.

Now if some other part of the kernel needs to be compiled 32-bit, then it would appear that gcc will need to be configured with
--enable-targets=powerpcle-linux --disable-multilib.

tags: added: kernel-da-key
Changed in linux (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu):
milestone: none → ubuntu-15.03
assignee: nobody → Andy Whitcroft (apw)
Revision history for this message
Michael Ellerman (michael-ellerman) wrote :

We'll aim to fix this in the kernel. It's a long-held assumption in the 64-bit code that 32-bit also exists, so teasing it all apart will take some work, all mechanical but time consuming. In the short term it might be best to just re-enable 32-bit in the toolchain.

Revision history for this message
Matthias Klose (doko) wrote :

configured the compiler as suggested for my trusty tests, so that I don't see this build failure anymore in trusty.

Andy Whitcroft (apw)
Changed in linux (Ubuntu):
status: Confirmed → Won't Fix
Changed in linux (Ubuntu Trusty):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.