This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12293] New: g++ 3.x outputs wrong mangled names for some "global constructors keyed to"
- From: "carlo at alinoe dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Sep 2003 00:15:13 -0000
- Subject: [Bug c++/12293] New: g++ 3.x outputs wrong mangled names for some "global constructors keyed to"
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12293
Summary: g++ 3.x outputs wrong mangled names for some "global
constructors keyed to"
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carlo at alinoe dot com
CC: gcc-bugs at gcc dot gnu dot org
The mangled names of some "global constructors keyed to" symbols
have wrongly an "anonymous namespace" extention appended.
Examples that I found in the distributed libstdc++ are:
# nm /usr/local/gcc-3.0.4/lib/libstdc++.so | grep GLOBAL__I_
0004dd90 t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.0.4_libstdc___v3_src_locale_inst.cc5yFzLb
This should be
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.1/lib/libstdc++.so | grep GLOBAL__I_
0005fd62 t _GLOBAL__I__usr_src_gcc_gcc_3.1_libstdc___v3_src_ext_inst.ccEupxgb
0005f87a t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.1_libstdc___v3_src_locale_inst.cchLn6gb
The first one is utter nonsense, it can not be determined
what symbol that is supposed to refer to!
The second one should be
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.1.1/lib/libstdc++.so | grep GLOBAL__I_
000600ce t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.1.1_libstdc___v3_src_ext_inst.ccKXjyhb
00060170 t
_GLOBAL__I__ZNKSt8ios_base6getlocEv_usr_src_gcc_gcc_3.1.1_libstdc___v3_src_io_inst.ccHMOmhb
0005fbf6 t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.1.1_libstdc___v3_src_locale_inst.ccx8rrhb
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNKSt8ios_base6getlocEv
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.2/lib/libstdc++.so | grep GLOBAL__I_
000629ee t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.2_libstdc___v3_src_ext_inst.ccff5vhb
0006302c t
_GLOBAL__I__ZNKSt8ios_base6getlocEv_usr_src_gcc_gcc_3.2_libstdc___v3_src_io_inst.ccteZohb
00062516 t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.2_libstdc___v3_src_locale_inst.ccD93Hhb
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNKSt8ios_base6getlocEv
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.2.1/lib/libstdc++.so | grep GLOBAL__I_
00047e76 t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.2.1_libstdc___v3_src_ext_inst.cc1vvuhb
00050570 t
_GLOBAL__I__ZNKSt8ios_base6getlocEv_usr_src_gcc_gcc_3.2.1_libstdc___v3_src_io_inst.ccRoMhhb
0005d772 t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.2.1_libstdc___v3_src_locale_inst.ccdpmgib
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNKSt8ios_base6getlocEv
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.2.2/lib/libstdc++.so | grep GLOBAL__I_
00047eca t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.2.2_libstdc___v3_src_ext_inst.ccqKhyhb
000505b8 t
_GLOBAL__I__ZNKSt8ios_base6getlocEv_usr_src_gcc_gcc_3.2.2_libstdc___v3_src_io_inst.cc7EMmhb
0005d68e t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.2.2_libstdc___v3_src_locale_inst.ccdJqcib
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNKSt8ios_base6getlocEv
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.2.3/lib/libstdc++.so | grep GLOBAL__I_
00047eca t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.2.3_libstdc___v3_src_ext_inst.ccd08xhb
00050614 t
_GLOBAL__I__ZNKSt8ios_base6getlocEv_usr_src_gcc_gcc_3.2.3_libstdc___v3_src_io_inst.ccBmEmhb
0005d6ea t
_GLOBAL__I__ZStorSt12_Ios_IostateS__usr_src_gcc_gcc_3.2.3_libstdc___v3_src_locale_inst.cc3hicib
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNKSt8ios_base6getlocEv
_GLOBAL__I__ZStorSt12_Ios_IostateS_
# nm /usr/local/gcc-3.3/lib/libstdc++.so | grep GLOBAL__I_
0003f8cc t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.3_libstdc___v3_src_ext_inst.ccoqpshb
0006a9b8 t
_GLOBAL__I__ZNSt21__ctype_abstract_baseIcED0Ev_usr_src_gcc_gcc_3.3_libstdc___v3_src_locale_inst.cc43Qhjb
00047dd8 t
_GLOBAL__I__ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev_usr_src_gcc_gcc_3.3_libstdc___v3_src_io_inst.ccc5UEhb
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNSt21__ctype_abstract_baseIcED0Ev
_GLOBAL__I__ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
# nm /usr/local/gcc-3.3.1/lib/libstdc++.so | grep GLOBAL__I_
0003fa04 t
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv_usr_src_gcc_gcc_3.3.1_libstdc___v3_src_ext_inst.ccJ2sTea
0006b3e0 t
_GLOBAL__I__ZNSt21__ctype_abstract_baseIcED0Ev_usr_src_gcc_gcc_3.3.1_libstdc___v3_src_locale_inst.ccJufoad
00047f10 t
_GLOBAL__I__ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev_usr_src_gcc_gcc_3.3.1_libstdc___v3_src_io_inst.ccC9CWwb
These should be
_GLOBAL__I__ZN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEE2fdEv
_GLOBAL__I__ZNSt21__ctype_abstract_baseIcED0Ev
_GLOBAL__I__ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
# nm /usr/local/gcc-cvs-3.4/lib/libstdc++.so | grep GLOBAL__I_
0004d0e0 t
_GLOBAL__I__usr_src_gcc_gcc_cvs_3.4_libstdc___v3_src_ext_inst.cc_C82FF1AF_EFA14B60
000563c0 t
_GLOBAL__I__usr_src_gcc_gcc_cvs_3.4_libstdc___v3_src_io_inst.cc_03FB521F_FF626C4C
0007f520 t
_GLOBAL__I__usr_src_gcc_gcc_cvs_3.4_libstdc___v3_src_locale_inst.cc_2E1E1B9E_063B209F
These are three times total nonsense.