Bug 6270

Summary: [GCC-4.9] libgcc fails to build with ICE Issue with fsl-ppc
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Saul Wold <sgw>
Component: devtools / tool chainAssignee: Alexandru-Cezar Sărdan <alexandru.sardan>
Status: VERIFIED FIXED QA Contact: Mihail Stanciu <stanciux.mihail>
Severity: major    
Priority: Medium+ CC: alexandru.c.georgescu, b40290, meta.mr.watcher, meta.watcher, zhenhua.luo
Version: 1.7   
Target Milestone: 1.7 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
Workaround for issue
none
Fix from upstream GCC none

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