If this is a bug, then I assume the following patch introduced it: 2003-04-22 Jerry Quinn <[EMAIL PROTECTED]> Benjamin Kosnik <bkoz at redhat dot com>
* include/bits/basic_ios.h (ios_base::Init::_S_ios_create): Declare friend. (basic_ios::init, basic_ios::_M_cache_locale): Add locale cache argument. * include/bits/basic_ios.tcc (basic_ios::init): Pass cache to _M_cache_locale. (basic_ios::_M_cache_locale): Use placement new if cache is provided. Track the distinction in iword(0). * include/bits/locale_facets.tcc (__locale_cache::_S_callback): Only delete cache if iword(0) is 0, i.e. not static. * src/globals.cc: Allocate space for __locale_cache objects. * src/ios.cc (__gnu_cxx): Declare extern __locale_cache objects for standard wide and narrow stream objects. (ios_base::Init::_S_ios_create): Use them. The libstdc++ baseline file is a list of symbols exported by the libstdc++ library. A baseline file for i386-pc-linux-gnu was not found. Checking against the i686-pc-linux-gnu file ... Running the check-abi script ... make[2]: Entering directory `/build/packages/gcc/3.3/gcc-3.3-3.3ds7/build/i386-linux/libstdc++-v3' 34 added symbols [...] 15 std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*, std::__locale_cache<char>*) _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_EPSt14__locale_cacheIcE GLIBCPP_3.2 16 std::basic_ios<wchar_t, std::char_traits<wchar_t> >::init(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*, std::__locale_cache<wchar_t>*) _ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_EPSt14__locale_cacheIwE GLIBCPP_3.2 [...] 2 missing symbols 1 std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*) _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E GLIBCPP_3.2 2 std::basic_ios<wchar_t, std::char_traits<wchar_t> >::init(std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >*) _ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E GLIBCPP_3.2 0 incompatible symbols make[2]: Leaving directory `/build/packages/gcc/3.3/gcc-3.3-3.3ds7/build/i386-linux/libstdc++-v3'