Bug 6496

Summary: Openssl 1.0.1g ICE on arm
Product: [Build System, Metadata & Runtime] OE-Core Reporter: tf <tf+bugs.yocto>
Component: connectivityAssignee: Fathi Boudra <fathi.boudra>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: denis, meta.mr.watcher, meta.watcher, ndec13, richard.purdie, ross.burton, sgw
Version: 1.6.1   
Target Milestone: 1.6.3   
Hardware: x86   
OS: Multiple   
See Also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49423
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description tf 2014-07-01 06:20:47 UTC
The openssl package in 1.6.1 (1.0.1g) generates the following ICE when building on armv7a-neon:

arm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/ext/poky/vernier/tmp-next-labquest2-dbg/sysroots/labquest2 -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN 	-DTERMIO  -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -pipe -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM   -c -o gcm128.o gcm128.c
gcm128.c: In function 'CRYPTO_gcm128_encrypt':
gcm128.c:1069:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:13559
 }
 ^
Comment 1 Richard Purdie 2014-07-02 12:37:32 UTC
https://bugs.launchpad.net/gcc-linaro/+bug/788841
Comment 2 tf 2014-07-03 14:41:14 UTC
As a dirty workaround:

CFLAG_arm := "${@'${CFLAG}'.replace('-O', '-O0')}"
Comment 3 Richard Purdie 2014-07-03 16:58:25 UTC
Nicholas: Would someone at Linaro have an idea which patch we need for gcc 4.8 for this?
Comment 4 Nicolas Dechesne 2014-07-08 08:14:51 UTC
re-assigning to Fathi, he will check with our toolchain working group
Comment 6 tf 2015-02-04 15:59:21 UTC
Just to say, run into this again today with 1.0.1j in daisy 11.0.2.
Comment 7 tf 2015-03-26 17:50:23 UTC
This problem is fixed in gcc 4.8.4, however I have since come to the conclusion that the whole 4.8 line is too buggy to be of much use on arm -- if the compiler in daisy was to be updated, it might be better to backport 4.9 than doing a 4.8 point update.
Comment 8 Saul Wold 2015-03-26 17:59:13 UTC
We have updated to 1.0.1m and I tried to test this and did not get a failure, here is the compile line from my log.do_compile

rm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/srv/hdd/releases/daisy/build/tmp/sysroots/beaglebone -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN         -DTERMIO  -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM   -c -o gcm128.o gcm128.c

Since it seems similar to below, I am going to close this as fixed, if there is still and issue, please reopen this bug.