[Bug c++/25642] New: optimizer bug: registers are clobbered but not restored
Hi, As explained in Debian bug#345574 (http://bugs.debian.org/345574), g++ fails to build cppunit due to a test suite failure. Debugging this, I found that the compiler produces code which assumes that no register inside the called function will clobber any register. As it turns out, that's an incorrect assumption. [EMAIL PROTECTED]:~$ g++ --version g++ (GCC) 4.0.3 20051201 (prerelease) (Debian 4.0.2-5) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [EMAIL PROTECTED]:~$ g++ -v Using built-in specs. Target: m68k-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=release m68k-linux-gnu Thread model: posix gcc version 4.0.3 20051201 (prerelease) (Debian 4.0.2-5) g++ -DHAVE_CONFIG_H -I. -I. -I../../config -I../../include -I../../include -g3 -gdwarf-2 -O2 -MT XmlUniformiser.o -MD -MP -MF ".deps/XmlUniformiser.Tpo" -c -o XmlUniformiser.o XmlUniformiser.cpp -- Summary: optimizer bug: registers are clobbered but not restored Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter at grep dot be GCC build triplet: m68k-linux-gnu GCC host triplet: m68k-linux-gnu GCC target triplet: m68k-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25642
[Bug target/25642] optimizer bug: registers are clobbered but not restored
--- Comment #1 from wouter at grep dot be 2006-01-02 19:27 --- Created an attachment (id=10576) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10576&action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25642
[Bug target/25642] optimizer bug: registers are clobbered but not restored
--- Comment #2 from wouter at grep dot be 2006-01-04 19:51 --- (In reply to comment #0) > I found that the > compiler produces code which assumes that no register inside the called > function will clobber any register. Uh -- for clarity, I meant to say "that no code inside the called function will clobber any register" here... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25642
[Bug c/25678] New: -m68000 doesn't work
When gcc is called with -m68000 -Wa,-m68000 it may still generate bsr.l instructions which are only supported with -m68020 and above. The assembler obviously rejects those; but if -m68000 is specified, they shouldn't be there in the first place. -- Summary: -m68000 doesn't work Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter at grep dot be GCC build triplet: m68k-linux GCC host triplet: m68k-linux GCC target triplet: m68k-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25678
[Bug c/23674] New: ICE on valid code
Hi, gcc 4.0 failed to build mlgmp. There is no problem with gcc 3.4, or the gcc-snapshot package in Debian (4.1.0 CVS 20050726) -- Summary: ICE on valid code Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter at grep dot be CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: m68k-linux-gnu GCC host triplet: m68k-linux-gnu GCC target triplet: m68k-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23674
[Bug c/23674] ICE on valid code
--- Additional Comments From wouter at grep dot be 2005-09-01 06:52 --- Created an attachment (id=9639) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9639&action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23674
[Bug target/23674] ICE on valid code
--- Additional Comments From wouter at grep dot be 2005-09-02 11:55 --- Silly me, forgot to include the command line and error message: gcc -Wall -Wno-unused -g -O3 -fPIC -I /usr/lib/ocaml/3.08.3-c -o mlgmp_z.o m lgmp_z.c In file included from mlgmp_z.c:13: conversions.c:68: warning: ignoring #pragma inline conversions.c:92: warning: ignoring #pragma inline mlgmp_z.c: In function '_mlgmp_z_neg': mlgmp_z.c:260: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see . make[1]: *** [mlgmp_z.o] Error 1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23674
[Bug target/23674] ICE on valid code
--- Additional Comments From wouter at grep dot be 2005-09-02 12:17 --- Lowering the optimization level (to -O2) also makes the build complete. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23674
[Bug target/23674] ICE on valid code
--- Additional Comments From wouter at grep dot be 2005-09-23 10:14 --- *** This bug has been marked as a duplicate of 23078 *** -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23674
[Bug target/23078] [4.0 regression] m68k ICE
--- Additional Comments From wouter at grep dot be 2005-09-23 10:14 --- *** Bug 23674 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23078
[Bug c++/23078] New: m68k ICE
g++ -O3 -Iboxes -Ierrors -Ievaluate -Igenerator -Iparser -Ipropagate -Isignals -Itlib -Idraw-c -o boxes/boxtype.o boxes/boxtype.cpp boxes/boxtype.cpp: In function 'void getBoxType(CTree*, int*, int*)': boxes/boxtype.cpp:74: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see . make[2]: *** [boxes/boxtype.o] Error 1 -- Summary: m68k ICE Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter at grep dot be CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: m68k-linux-gnu GCC target triplet: m68k-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23078
[Bug c++/23078] m68k ICE
--- Additional Comments From wouter at grep dot be 2005-07-26 15:29 --- Created an attachment (id=9364) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9364&action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23078
[Bug c/23080] New: m68k ICE
cc -c -O4 -DSYSINC -I/usr/include/lam -Df77IsF2C -DBlacsDebugLvl=0 -DUseMpi2 BI_BeComb.c BI_BeComb.c: In function 'BI_BeComb': BI_BeComb.c:102: internal compiler error: Segmentatie fout Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see . make[3]: *** [BI_BeComb.o] Fout 1 -- Summary: m68k ICE Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wouter at grep dot be CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: m68k-linux-gnu GCC target triplet: m68k-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23080
[Bug target/23080] m68k ICE
--- Additional Comments From wouter at grep dot be 2005-07-26 16:29 --- Created an attachment (id=9365) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9365&action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23080
[Bug target/23080] m68k ICE
--- Additional Comments From wouter at grep dot be 2005-07-27 06:48 --- Error does not occur with GCC 3.4.5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23080
[Bug target/23078] m68k ICE
--- Additional Comments From wouter at grep dot be 2005-07-27 07:50 --- Error does not occur with g++ 3.4.5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23078