This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/12293] New: g++ 3.x outputs wrong mangled names for some "global constructors keyed to"


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]