Bug 927565 - ICE when building pdns on ARM
Summary: ICE when building pdns on ARM
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2013-03-26 08:58 UTC by Peter Robinson
Modified: 2013-05-30 21:50 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-30 21:50:23 UTC


Attachments (Terms of Use)
Preprocessed source (100.38 KB, application/octet-stream)
2013-03-26 08:58 UTC, Peter Robinson
no flags Details


Links
System ID Priority Status Summary Last Updated
GNU Compiler Collection 49423 None None None Never

Description Peter Robinson 2013-03-26 08:58:22 UTC
Created attachment 716370 [details]
Preprocessed source

Complete build:

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1620800

Relevant crash:
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../..   -pthread -DLDAP_DEPRECATED  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard -c -o aes_modes.o `test -f '../../aes/aes_modes.c' || echo './'`../../aes/aes_modes.c
In file included from ../../aes/aeskey.c:28:0:
../../aes/aeskey.c: In function 'aes_decrypt_key256':
../../aes/aesopt.h:329:28: warning: 'ss[5]' is used uninitialized in this function [-Wuninitialized]
 #  define to_byte(x)  ((x) & 0xff)
                            ^
../../aes/aeskey.c:492:17: note: 'ss[5]' was declared here
 {   uint_32t    ss[9];
                 ^
In file included from ../../aes/aeskey.c:28:0:
../../aes/aesopt.h:329:28: warning: 'ss[6]' is used uninitialized in this function [-Wuninitialized]
 #  define to_byte(x)  ((x) & 0xff)
                            ^
../../aes/aeskey.c:492:17: note: 'ss[6]' was declared here
 {   uint_32t    ss[9];
                 ^
In file included from ../../aes/aeskey.c:28:0:
../../aes/aesopt.h:329:28: warning: 'ss[7]' is used uninitialized in this function [-Wuninitialized]
 #  define to_byte(x)  ((x) & 0xff)
                            ^
../../aes/aeskey.c:492:17: note: 'ss[7]' was declared here
 {   uint_32t    ss[9];
                 ^
../../aes/aeskey.c:538:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:13518
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../..   -pthread -DLDAP_DEPRECATED  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard -c -o aestab.o `test -f '../../aes/aestab.c' || echo './'`../../aes/aestab.c
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../..   -pthread -DLDAP_DEPRECATED  -D_GNU_SOURCE -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard -c -o zone2ldap.o zone2ldap.cc
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../..   -pthread -DLDAP_DEPRECATED  -D_GNU_SOURCE -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard -c -o zone2json.o zone2json.cc
Preprocessed source stored into /tmp/ccYmtamm.out file, please attach this to your bugreport.
make[6]: *** [aeskey.o] Error 1
make[6]: *** Waiting for unfinished jobs....

Comment 1 Jakub Jelinek 2013-03-26 10:11:08 UTC
Tracked upstream (though, there doesn't seem to be rush to fix that).
I'd suggest you fix all the uninitialized warnings first, then the ICE might as well just go away (at least it does on the reduced testcase).
Even just memset (ss, 0, sizeof (ss)); at the beginning of aes_decrypt_key256
makes the ICE go away.  Of course, the question is if it actually works correctly that way, because ss[5], ss[6] and ss[7] are clearly used before they are initialized in that routine.

Comment 2 Morten Stevens 2013-04-18 13:38:26 UTC
Upstream patch available:

http://wiki.powerdns.com/trac/changeset/3162/

Comment 3 Peter Robinson 2013-05-30 21:50:23 UTC
Closing as fixed, if the gcc fix comes later all well and good


Note You need to log in before you can comment on or make changes to this bug.