This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [3.3 branch] 2 missing symbols in libstdc++ baseline
- From: Carlo Wood <carlo at alinoe dot com>
- To: Matthias Klose <doko at cs dot tu-berlin dot de>
- Cc: libstdc++ at gcc dot gnu dot org, Jerry Quinn <jlquinn at optonline dot net>, Benjamin Kosnik <bkoz at redhat dot com>, debian-gcc at lists dot debian dot org
- Date: Tue, 29 Apr 2003 12:13:40 +0200
- Subject: Re: [3.3 branch] 2 missing symbols in libstdc++ baseline
- References: <16046.5429.340593.577747@gargle.gargle.HOWL>
I had this too, a complete new rebuild did it for me.
The dependency information is broken, but not the code.
see http://gcc.gnu.org/ml/libstdc++/2003-04/msg00370.html
and http://gcc.gnu.org/ml/libstdc++/2003-04/msg00371.html
On Tue, Apr 29, 2003 at 08:01:25AM +0200, Matthias Klose wrote:
> If this is a bug, then I assume the following patch introduced it:
>
> 2003-04-22 Jerry Quinn <jlquinn at optonline dot net>
> 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'
--
Carlo Wood <carlo at alinoe dot com>