[Bug target/55909] libtool test exposes what I think is some alignment issue in libstdc++
philip.copeland at oracle dot com
gcc-bugzilla@gcc.gnu.org
Wed Jan 9 15:29:00 GMT 2013
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?)
More information about the Gcc-bugs
mailing list