[Bug target/37615] terminate called after throwing and instance of 'XXX' c++ testsuite failures

2008-10-01 Thread sposelenov at emcraft dot com


--- 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

2008-09-22 Thread sposelenov at emcraft dot com


--- 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

2008-09-22 Thread sposelenov at emcraft dot com
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

2008-01-22 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com


--- 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

2008-01-21 Thread sposelenov at emcraft dot com
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