Bug 6270 - [GCC-4.9] libgcc fails to build with ICE Issue with fsl-ppc
Summary: [GCC-4.9] libgcc fails to build with ICE Issue with fsl-ppc
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 1.7
Hardware: x86 Multiple
: Medium+ major
Target Milestone: 1.7 M1
Assignee: Alexandru-Cezar Sărdan
QA Contact: Mihail Stanciu
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2014-05-06 17:22 UTC by Saul Wold
Modified: 2014-09-09 14:41 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
Workaround for issue (1.32 KB, patch)
2014-05-20 11:45 UTC, Alexandru-Cezar Sărdan
no flags Details | Diff
Fix from upstream GCC (5.15 KB, patch)
2014-05-26 13:33 UTC, Alexandru-Cezar Sărdan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saul Wold 2014-05-06 17:22:39 UTC
This error is showing itself with the newer 4.9 version of GCC, which has recently been included, but not yet fully enabled for 1.7.

To reproduce this, you will need to change the GCCVERSION to 4.9 in the meta/conf/distro/include/tcmode-default.inc as follows:

-GCCVERSION ?= "4.8%"
+GCCVERSION ?= "4.9%"

Then you can build libgcc
| powerpc-poky-linux-gnuspe-gcc  -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/sysroots/p1022ds -O2 -pipe -g -feliminate-unused-debug-types -O2  -O2 -pipe -g -feliminate-unused-debug-types -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -mlong-double-128 -mno-minimal-toc -I. -I. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/ppce500v2-poky-linux-gnuspe/libgcc/4.9.0-r0/gcc-4.9.0/build.powerpc-poky-linux-gnuspe.powerpc-poky-linux-gnuspe/powerpc-poky-linux-gnuspe/libgcc/../.././gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../include -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/dpd -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber -DHAVE_CC_TLS  -o _plus_sd.o -MT _plus_sd.o -MD -MP -MF _plus_sd.dep -DFINE_GRAINED_LIBRARIES -DL_plus_sd -DWIDTH=32 -c /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/dfp-bit.c
| /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/decLibrary.c: In function 'isinfd64':
| /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/decLibrary.c:60:1: error: unrecognizable insn:
|  }
|  ^
| (insn 2 4 3 2 (set (reg/v:DD 128 [ arg ])
|         (reg:DD 3 3 [ arg ])) /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/decLibrary.c:53 -1
|      (nil))
| /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/decLibrary.c:60:1: internal compiler error: in extract_insn, at recog.c:2202
| powerpc-poky-linux-gnuspe-gcc  -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/sysroots/p1022ds -O2 -pipe -g -feliminate-unused-debug-types -O2  -O2 -pipe -g -feliminate-unused-debug-types -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -mlong-double-128 -mno-minimal-toc -I. -I. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/ppce500v2-poky-linux-gnuspe/libgcc/4.9.0-r0/gcc-4.9.0/build.powerpc-poky-linux-gnuspe.powerpc-poky-linux-gnuspe/powerpc-poky-linux-gnuspe/libgcc/../.././gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../include -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/dpd -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber -DHAVE_CC_TLS  -o _minus_sd.o -MT _minus_sd.o -MD -MP -MF _minus_sd.dep -DFINE_GRAINED_LIBRARIES -DL_minus_sd -DWIDTH=32 -c /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/dfp-bit.c
| powerpc-poky-linux-gnuspe-gcc  -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/sysroots/p1022ds -O2 -pipe -g -feliminate-unused-debug-types -O2  -O2 -pipe -g -feliminate-unused-debug-types -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -mlong-double-128 -mno-minimal-toc -I. -I. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/ppce500v2-poky-linux-gnuspe/libgcc/4.9.0-r0/gcc-4.9.0/build.powerpc-poky-linux-gnuspe.powerpc-poky-linux-gnuspe/powerpc-poky-linux-gnuspe/libgcc/../.././gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/. -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../gcc -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../include -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber/dpd -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/../libdecnumber -DHAVE_CC_TLS  -o _eq_sd.o -MT _eq_sd.o -MD -MP -MF _eq_sd.dep -DFINE_GRAINED_LIBRARIES -DL_eq_sd -DWIDTH=32 -c /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work-shared/gcc-4.9.0-r0/gcc-4.9.0/libgcc/dfp-bit.c
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| Makefile:608: recipe for target 'decLibrary.o' failed
| make: *** [decLibrary.o] Error 1
| make: *** Waiting for unfinished jobs....
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/build/tmp/work/ppce500v2-poky-linux-gnuspe/libgcc/4.9.0-r0/temp/log.do_compile.9393)
NOTE: recipe libgcc-4.9.0-r0: task do_compile: Failed
ERROR: Task 773 (/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-ppc/build/meta/recipes-devtools/gcc/libgcc_4.9.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2885 tasks of which 1206 didn't need to be rerun and 1 failed.
Comment 1 Alexandru-Cezar Sărdan 2014-05-20 11:45:02 UTC
Created attachment 1967 [details]
Workaround for issue

We are currently working on a fix for this issue.
Meanwhile the attached workaround can be used temporarily to upgrade to GCC 4.9.
Comment 2 Khem Raj 2014-05-20 14:54:04 UTC
(In reply to comment #1)
> Created attachment 1967 [details]
> Workaround for issue
> 
> We are currently working on a fix for this issue.
> Meanwhile the attached workaround can be used temporarily to upgrade to GCC
> 4.9.

this is changing the ABI. I think we can wait for real fix.
Comment 3 Alexandru-Cezar Sărdan 2014-05-26 13:33:25 UTC
Created attachment 1978 [details]
Fix from upstream GCC

Added a patch from upstream that fixes the issue.
Comment 4 Zhenhua Luo 2014-05-27 04:30:41 UTC
(In reply to comment #3)
> Created attachment 1978 [details]
> Fix from upstream GCC
> 
> Added a patch from upstream that fixes the issue.

Alex, can you please send the patch to oe-core maillist?
Comment 6 Mihail Stanciu 2014-09-09 14:41:07 UTC
Verified on master: 1894522f357fdf0b6adb2dcc14f12817628596bd