'asm' operand requires impossible reload

Reported by Bernhard Rosenkraenzer on 2012-02-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Android
Critical
Bernhard Rosenkraenzer
Linaro GCC
Medium
Ramana Radhakrishnan

Bug Description

With recent snapshots of linaro-gcc 4.6 (the last release is ok, 4.7 is ok), we're getting

error: 'asm' operand requires impossible reload

when compiling the kernel with -O2 -fno-omit-frame-pointer -march=armv7-a -mtune=cortex-a9

In the attached (mostly) reduced test case:

[bero@localhost ~]$ /opt/android-toolchain-4.6/bin/arm-linux-androideabi-gcc -O2 -fno-omit-frame-pointer -march=armv7-a -mtune=cortex-a9 -c -o asm_operand_requires_impossible_reload.o asm_operand_requires_impossible_reload.c
asm_operand_requires_impossible_reload.c: In function 'perf_event_read_value':
asm_operand_requires_impossible_reload.c:67:2: error: 'asm' operand requires impossible reload
asm_operand_requires_impossible_reload.c:67:2: error: 'asm' operand requires impossible reload

Related branches

lp:~ramana/gcc-linaro/fix-lp-942307
Ulrich Weigand (community): Approve on 2012-03-01
Linaro Toolchain Builder: Pending requested 2012-03-01
Changed in linaro-android:
assignee: nobody → Bernhard Rosenkraenzer (berolinux)
importance: Undecided → High
status: New → Triaged
Zach Pfeffer (pfefferz) on 2012-02-28
Changed in linaro-android:
milestone: none → 12.03
Download full text (3.2 KiB)

$ /opt/android-toolchain-4.6/bin/arm-linux-androideabi-gcc -v
Using built-in specs.
COLLECT_GCC=/opt/android-toolchain-4.6/bin/arm-linux-androideabi-gcc
COLLECT_LTO_WRAPPER=/opt/android-toolchain-4.6/bin/../libexec/gcc/arm-linux-androideabi/4.6.3/lto-wrapper
Target: arm-linux-androideabi
Configured with: /mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/../build/../gcc/gcc-linaro-4.6-bzr/configure --prefix=/tmp/android-toolchain-eabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-mpfr=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-mpc=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-cloog=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-ppl=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --disable-ppl-version-check --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --disable-nls --disable-libmudflap --disable-shared --disable-sjlj-exceptions --disable-libquadmath --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --prefix=/tmp/android-toolchain-eabi --disable-docs --disable-nls --with-gcc-version=linaro-4.6-bzr --with-binutils-version=2.22.52.0.1 --with-gmp-version=5.0.4 --with-mpfr-version=3.1.0 --with-mpc-version=0.9 --target=arm-linux-androideabi --enable-threads --enable-tls --enable-libgomp --disable-libitm --disable-libstdc__-v3 : (reconfigured) /mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/../build/../gcc/gcc-linaro-4.6-bzr/configure --prefix=/tmp/android-toolchain-eabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-mpfr=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-mpc=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-cloog=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --with-ppl=/mnt/jenkins/workspace/linaro-android_toolchain-4.6-bzr/build/objdir/temp-install --disable-ppl-version-check --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --disable-nls --disable-libmudflap --disable-shared --disable-sjlj-exceptions --disable-libquadmath --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --prefix=/tmp/android-toolchain-eabi --disable-docs --disable-nls --with-gcc-version=linaro-4.6-bzr --with-binutils-version=2.22.52.0.1 --with-gmp-version=5.0.4 --with-mpfr-version=3.1.0 --with-mpc-version=0.9 --target=arm-linux-androideabi --enable-threads --enable-tls --enable-libgomp --disable-libitm --disable-libstdc__-v3
Thread model: posix
gcc version 4.6...

Read more...

Changed in gcc-linaro:
status: New → Confirmed
importance: Undecided → Medium
Ramana Radhakrishnan (ramana) wrote :

Thanks for the bug report, I've managed to reproduce this with Linaro GCC 4.6-2012.02 + rev 106784. The problem doesn't exist on FSF trunk or FSF 4.6 branch but does exist in Linaro GCC 4.6 .

The problem manifests itself while building in ARM state and not in Thumb2 state.

I have set the priority to medium for the minute as it is hitting building a critical package which is the kernel.

Ramana

Changed in gcc-linaro:
assignee: nobody → Ramana Radhakrishnan (ramana)
status: Confirmed → Triaged
tags: added: linaro-android
Tony Mansson (tony-mansson) wrote :

Bero to ping Michael Hope again.

Changed in linaro-android:
importance: High → Critical
Michael Hope (michaelh1) wrote :

Investigating.

Ulrich Weigand (uweigand) wrote :

Note that Ramana has a merge request to fix this bug pending, which I just approved earlier today. He probably hasn't committed it yet since he's out today ...

https://code.launchpad.net/~ramana/gcc-linaro/fix-lp-942307/+merge/95352

B.t.w. this is upstream GCC PR 50305.

Michael Hope (michaelh1) wrote :

This fault cleared with the r106785 4.6.3 merge. Investigating further...

Changed in gcc-linaro:
status: Triaged → In Progress
Michael Hope (michaelh1) wrote :

The fault has cleared and the fix is in progress. No need for further investigation.

Changed in gcc-linaro:
milestone: none → 4.6-2012.03
Ramana Radhakrishnan (ramana) wrote :

I have now committed the fix. It's likely that the 4.6.3 merge made it latent again but this is still the right fix.

Ramana

Changed in gcc-linaro:
status: In Progress → Fix Committed
Changed in linaro-android:
status: Triaged → Fix Committed
Michael Hope (michaelh1) on 2012-03-14
Changed in gcc-linaro:
status: Fix Committed → Fix Released
Zach Pfeffer (pfefferz) wrote :

Released in 12.03.

Changed in linaro-android:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers