[Bug target/37615] terminate called after throwing and instance of 'XXX' c++ testsuite failures
--- Comment #2 from sposelenov at emcraft dot com 2008-10-01 11:28 --- Found the cause of the problem - it's binutils 2.17.50. Using ld version 2.18 or even 2.17.90 creates workable libstdc++.so. Could please someone responsible close this bug with correct "resolution"? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37615
[Bug c++/37615] terminate called after throwing and instance of 'XXX' c++ testsuite failures
--- Comment #1 from sposelenov at emcraft dot com 2008-09-22 13:32 --- Created an attachment (id=16378) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16378&action=view) Reduced testcase Build as: arm-linux-gnueabi-g++ -o cond1 cond1.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37615
[Bug c++/37615] New: terminate called after throwing and instance of 'XXX' c++ testsuite failures
Ran gcc testsuite and got a lot of c++ testsuite failures like for g++.dg/eh/cond1.C: ... terminate called after throwing an instance of 'int' terminate called recursively ... Compiler details: Target: arm-linux-gnueabi Configured with: /work/psl/eldk-builds/arm-2008-09-10/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/gcc-4.2.2/configure --target=arm-linux-gnueabi --host=i686-host_pc-linux-gnu --prefix=/var/tmp/eldk.tL5647/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi --disable-hosted-libstdcxx --with-headers=/var/tmp/eldk.tL5647/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi/include --with-local-prefix=/var/tmp/eldk.tL5647/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++,java --enable-shared --enable-c99 --enable-long-long --without-x Thread model: posix gcc version 4.2.2 It's interesting that statically-built binary run OK. Also, according to testresults in http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00570.html , this should work, unless got broken in release version. Known to work on powerpc, toolchain is the same. -- Summary: terminate called after throwing and instance of 'XXX' c++ testsuite failures Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sposelenov at emcraft dot com GCC host triplet: i386-linux GCC target triplet: arm-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37615
[Bug target/34903] -Os code size regression
--- Comment #8 from sposelenov at emcraft dot com 2008-01-22 10:55 --- (In reply to comment #7) > First, please stop changing the categorization of this bug. > Sorry. > The patch which changed this behavior is > > http://gcc.gnu.org/ml/gcc-patches/2005-06/msg00276.html > Thanks. > The "regression" is due to a wrong-code bug fix. To reduce the code size, the > prologue and epilogue need to emit lwm/stwm for two ranges of registers, which > does not correspond to a standard PowerPC ABI. > Would you please comment the fact, that the removal of the "-ffixed" options doesn't change the code for 4.2.2? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] -Os code size regression
--- Comment #6 from sposelenov at emcraft dot com 2008-01-21 16:08 --- (In reply to comment #5) > The "regression" is due to a wrong-code bug fix. To reduce the code size, the > prologue and epilogue need to emit lwm/stwm for two ranges of registers, which > does not correspond to a standard PowerPC ABI. > Thanks, understood. Would you please specify the bug # for this fix? I can't find any useful. -- sposelenov at emcraft dot com changed: What|Removed |Added Severity|enhancement |normal Component|target |c http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] -Os code size regression
--- Comment #4 from sposelenov at emcraft dot com 2008-01-21 15:42 --- Created an attachment (id=14990) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14990&action=view) resulted assmbelr, GCC 4.0.0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] -Os code size regression
--- Comment #3 from sposelenov at emcraft dot com 2008-01-21 15:41 --- Created an attachment (id=14989) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14989&action=view) preprocessed output, GCC 4.0.0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] -Os code size regression
--- Comment #2 from sposelenov at emcraft dot com 2008-01-21 15:37 --- Created an attachment (id=14988) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14988&action=view) Resulted assembler,GCC 4.2.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] -Os code size regression
--- Comment #1 from sposelenov at emcraft dot com 2008-01-21 15:36 --- Created an attachment (id=14987) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14987&action=view) Preprocessed output, GCC 4.2.2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903
[Bug c/34903] New: -Os code size regression
I can't build the embedded application (U-Boot firmware) using the GCC 4.2.2 powerpc-linux cross because resultant code doesn't fit into the reserved space anymore. GCC 4.0.0 powerpc cross build it OK. Investigation showed that the code size generated by the GCC 4.2.2 is about 6% bigger as produced by GCC 4.0.0, as reported by 'size': gcc 4.2.2: textdata bss dec hex filename 2696 601536429210c4 interrupts.o gcc 4.0.0: textdata bss dec hex filename 2424 8815364048 fd0 interrupts.o In both cases, same compilation options are used: ppc-linux-gcc -g -Os -fPIC -ffixed-r14 -meabi -fno-strict-aliasing -D__KERNEL__ -DTEXT_BASE=0xfffc -I/work/psl/tmp/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/eldk-4.2-01-08/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_4xx -ffixed-r2 -ffixed-r29 -mstring -msoft-float -Wa,-m440 -mcpu=440 -DCONFIG_440=1 -Wall -Wstrict-prototypes -c -o interrupts.o interrupts.c Removing "-ffixed" doesn't change the generated assembler code for 4.2.2 Test case and generated outputs will follow. -- Summary: -Os code size regression Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sposelenov at emcraft dot com GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34903