'asm' operand requires impossible reload

Bug #942307 reported by Bernhard Rosenkraenzer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Android
Fix Released
Critical
Bernhard Rosenkraenzer
Linaro GCC
Fix Released
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

Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote :
Changed in linaro-android:
assignee: nobody → Bernhard Rosenkraenzer (berolinux)
importance: Undecided → High
status: New → Triaged
Zach Pfeffer (pfefferz)
Changed in linaro-android:
milestone: none → 12.03
Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote :
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
Revision history for this message
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
Revision history for this message
Tony Mansson (tony-mansson) wrote :

Bero to ping Michael Hope again.

Changed in linaro-android:
importance: High → Critical
Revision history for this message
Michael Hope (michaelh1) wrote :

Investigating.

Revision history for this message
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.

Revision history for this message
Michael Hope (michaelh1) wrote :

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

Changed in gcc-linaro:
status: Triaged → In Progress
Revision history for this message
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
Revision history for this message
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)
Changed in gcc-linaro:
status: Fix Committed → Fix Released
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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