Bug 193773
Summary: | gcc-4.1.1-1.fc5 segfault ICE during compile of valid C++ code on s390x | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jason Vas Dias <jvdias> | ||||
Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||
Status: | CLOSED WORKSFORME | QA Contact: | |||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 5 | ||||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | s390x | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2006-06-21 13:50:35 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Jason Vas Dias
2006-06-01 14:42:06 UTC
Created attachment 130347 [details]
preprocessed c++ 'LocalAccess.cc' source the compiler barfed on
The same code was compiled OK by FC-6's gcc-4.1.1-1 on s390x . Could be a build server problem ? More info - just removing the '-fno-exceptions' flag allows the compile to succeed. It seems the RPM OPTFLAGS on FC-5 s390x are now: '-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64bash-3.1' But the Makefile for lftp specifies '-fno-exceptions' . gcc also suffers an ICE and segfault without the '-fexceptions' and with only the '-fno-exceptions', as well as with '-fexceptions ... -fno-exceptions'. I don't think any combination of command line args should cause gcc to segfault, especially as the gcc compiles the same source with the same args OK on s390x FC6. Is there some problem with using '-fno-exceptions' on FC-5 s390x ? I can try removing the flag from the lftp build. OK, I tried to work around the problem by patching lftp not to specify '-fno-exceptions'. This then successfuly built the RPMs manually in /tmp on the s390x build server, but failed during the build system run with a different error : s390x-redhat-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I/usr/include -I/usr/kerberos/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -Wall -Wwrite-strings -Woverloaded-virtual -fno-rtti -MT CmdExec.lo -MD -MP -MF .deps/CmdExec.Tpo -c CmdExec.cc -fPIC -DPIC -o .libs/CmdExec.o CmdExec.cc: In member function 'void CmdExec::beep_if_long()': CmdExec.cc:939: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result CmdExec.cc: In function 'void __static_initialization_and_destruction_0(int, int)': CmdExec.cc:1344: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. But gcc did not save the preprocessed source this time. This seems to have been a transient fault (it did not occur with a manual build). All is definitely not well with gcc-4.1.1-1.fc5 on s390x! Please fix - thanks! Yes, this is a very weird problem, but it IS 100% reproducible. Apparently, it does NOT happen with the preprocessed source, but only when preprocessing source from the .cc file: bash-3.1# hostname spud.z900.redhat.com bash-3.1# uname -a Linux spud.z900.redhat.com 2.6.9-24.EL #1 SMP Wed Nov 30 18:16:22 EST 2005 s390x s390x s390x GNU/Linux bash-3.1# pwd /tmp/lftp/FC-5/lftp-3.4.7/src bash-3.1# rpm -q gcc gcc-4.1.1-1.fc5 bash-3.1# gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I/usr/include -I/usr/kerberos/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -MT LocalAccess.lo -MD -MP -MF .deps/LocalAccess.Tpo -c LocalAccess.cc -o LocalAccess.o LocalAccess.cc: In member function âvirtual int LocalGlob::Do()â: LocalAccess.cc:617: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccpnwbdd.out file, please attach this to your bugreport. bash-3.1# cp -fp /tmp/ccpnwbdd.out /tmp/ccpnwbdd.cc bash-3.1# gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I/usr/include -I/usr/kerberos/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -MT LocalAccess.lo -MD -MP -MF .deps/LocalAccess.Tpo -c /tmp/ccpnwbdd.cc -o LocalAccess.o bash-3.1# echo $? 0 And ONLY when the -fno-exceptions flag is specified: bash-3.1# gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I/usr/include -I/usr/kerberos/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -Wall -Wwrite-strings -Woverloaded-virtual -fno-rtti -MT LocalAccess.lo -MD -MP -MF .deps/LocalAccess.Tpo -c LocalAccess.cc -o LocalAccess.o bash-3.1# echo $ 0 But if I don't specify -fno-exceptions for the build, it fails elsewhere, as for CmdExec.cc above. |