http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55909
--- Comment #29 from philip.copeland at oracle dot com 2013-01-09 15:29:26 UTC --- Rebuilt fedoras 4.7.2-8 gcc without --enable-initfini-array reinstalled in a chroot and rebuilt the test program bash-4.2# g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/sparc64-redhat-linux/4.7.2/lto-wrapper Target: sparc64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --disable-build-with-cxx --disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,lto --enable-plugin --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-long-double-128 --with-cpu=ultrasparc --disable-multilib --build=sparc64-redhat-linux Thread model: posix gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) bash-4.2# ./a.out we are able to write to stderr Segmentation fault (core dumped) Breakpoint 1, __cxxabiv1::__cxa_get_globals () at ../../../../libstdc++-v3/libsupc++/eh_globals.cc:63 63 { return get_global(); } (gdb) disassemble Dump of assembler code for function __cxxabiv1::__cxa_get_globals(): 0xfffff80100180960 <+0>: save %sp, -176, %sp 0xfffff80100180964 <+4>: sethi %hi(0), %o0 0xfffff80100180968 <+8>: sethi %hi(0), %i0 0xfffff8010018096c <+12>: sethi %hi(0x18f400), %l7 0xfffff80100180970 <+16>: call 0xfffff8010017db40 <__sparc_get_pc_thunk.l7> 0xfffff80100180974 <+20>: add %l7, 0x290, %l7 ! 0x18f690 => 0xfffff80100180978 <+24>: add %o0, 8, %o0 0xfffff8010018097c <+28>: xor %i0, 0, %i0 0xfffff80100180980 <+32>: call 0xfffff8010030a558 0xfffff80100180984 <+36>: add %l7, %o0, %o0 0xfffff80100180988 <+40>: add %o0, %i0, %i0 0xfffff8010018098c <+44>: rett %i7 + 8 0xfffff80100180990 <+48>: nop End of assembler dump. (gdb) stepi 0xfffff8010018097c 63 { return get_global(); } (gdb) 0xfffff80100180980 63 { return get_global(); } (gdb) 0xfffff80100180984 63 { return get_global(); } (gdb) 0xfffff8010030a558 in __frame_dummy_init_array_entry () from /lib64/libstdc++.so.6 (gdb) Program received signal SIGSEGV, Segmentation fault. 0xfffff8010030a558 in __frame_dummy_init_array_entry () from /lib64/libstdc++.so.6 again, no thread level support address actions. Moving on to rebuild of gcc-trunk (4.7.3?)