mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-14 07:39:39 +08:00
linker-map.gnu: Make more *_type_info bits visible.
2003-10-09 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu: Make more *_type_info bits visible. Move new/delete bits back into GLIBCXX space. * include/bits/locale_classes.h: Move _M_id out of line, so that locale:🆔:_S_highwater can be removed from the export list. * src/locale.cc (locale:🆔:_M_id): Define. From-SVN: r72287
This commit is contained in:
parent
b0c6e48ff6
commit
5aaa21080b
@ -1,3 +1,12 @@
|
||||
2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* config/linker-map.gnu: Make more *_type_info bits visible.
|
||||
Move new/delete bits back into GLIBCXX space.
|
||||
|
||||
* include/bits/locale_classes.h: Move _M_id out of line, so that
|
||||
locale::id::_S_highwater can be removed from the export list.
|
||||
* src/locale.cc (locale::id::_M_id): Define.
|
||||
|
||||
2003-10-09 Andreas Tobler <a.tobler@schweiz.ch>
|
||||
|
||||
* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
|
||||
|
@ -38,7 +38,7 @@ GLIBCXX_3.4 {
|
||||
std::locale::facet::_S_destroy_c_locale*;
|
||||
std::locale::[A-Zg-h]*;
|
||||
std::locale::id::[A-Za-z]*;
|
||||
std::locale::id::_S_highwater;
|
||||
std::locale::id::_M_id*;
|
||||
std::locale::[A-Zj-z]*;
|
||||
std::locale::_[A-Ha-z]*;
|
||||
std::locale::_Impl::[A-Za-z]*;
|
||||
@ -62,6 +62,26 @@ GLIBCXX_3.4 {
|
||||
|
||||
# Names not in an 'extern' block are mangled names.
|
||||
|
||||
# operator new(size_t)
|
||||
_Znw[jm];
|
||||
# operator new(size_t, std::nothrow_t const&)
|
||||
_Znw[jm]RKSt9nothrow_t;
|
||||
|
||||
# operator delete(void*)
|
||||
_ZdlPv;
|
||||
# operator delete(void*, std::nothrow_t const&)
|
||||
_ZdlPvRKSt9nothrow_t;
|
||||
|
||||
# operator new[](size_t)
|
||||
_Zna[jm];
|
||||
# operator new[](size_t, std::nothrow_t const&)
|
||||
_Zna[jm]RKSt9nothrow_t;
|
||||
|
||||
# operator delete[](void*)
|
||||
_ZdaPv;
|
||||
# operator delete[](void*, std::nothrow_t const&)
|
||||
_ZdaPvRKSt9nothrow_t;
|
||||
|
||||
# std::locale destructors
|
||||
_ZNSt6localeD*;
|
||||
|
||||
@ -84,6 +104,12 @@ GLIBCXX_3.4 {
|
||||
_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
|
||||
_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
|
||||
|
||||
# std::__ctype_abstract_base*
|
||||
_ZNSt21__ctype_abstract_base*;
|
||||
|
||||
# std::__codecvt_abstract_base*
|
||||
_ZNStSt23__codecvt_abstract_base*;
|
||||
|
||||
# virtual table
|
||||
_ZTVNSt8ios_base7failureE;
|
||||
_ZTVNSt6locale5facetE;
|
||||
@ -221,57 +247,68 @@ CXXABI_1.3 {
|
||||
__gxx_personality_sj0;
|
||||
__dynamic_cast;
|
||||
|
||||
# operator new(size_t)
|
||||
_Znw[jm];
|
||||
# operator new(size_t, std::nothrow_t const&)
|
||||
_Znw[jm]RKSt9nothrow_t;
|
||||
# *_type_info classes, ctor and dtor
|
||||
_ZN10__cxxabiv117__array_type_info*;
|
||||
_ZN10__cxxabiv117__class_type_info*;
|
||||
_ZN10__cxxabiv116__enum_type_info*;
|
||||
_ZN10__cxxabiv120__function_type_info*;
|
||||
_ZN10__cxxabiv123__fundamental_type_info*;
|
||||
_ZN10__cxxabiv117__pbase_type_info*;
|
||||
_ZN10__cxxabiv129__pointer_to_member_type_info*;
|
||||
_ZN10__cxxabiv119__pointer_type_info*;
|
||||
_ZN10__cxxabiv120__si_class_type_info*;
|
||||
_ZN10__cxxabiv121__vmi_class_type_info*;
|
||||
|
||||
# operator delete(void*)
|
||||
_ZdlPv;
|
||||
# operator delete(void*, std::nothrow_t const&)
|
||||
_ZdlPvRKSt9nothrow_t;
|
||||
|
||||
# operator new[](size_t)
|
||||
_Zna[jm];
|
||||
# operator new[](size_t, std::nothrow_t const&)
|
||||
_Zna[jm]RKSt9nothrow_t;
|
||||
|
||||
# operator delete[](void*)
|
||||
_ZdaPv;
|
||||
# operator delete[](void*, std::nothrow_t const&)
|
||||
_ZdaPvRKSt9nothrow_t;
|
||||
# *_type_info classes, member functions
|
||||
_ZNK10__cxxabiv117__class_type_info*;
|
||||
_ZNK10__cxxabiv120__function_type_info*;
|
||||
_ZNK10__cxxabiv117__pbase_type_info*;
|
||||
_ZNK10__cxxabiv129__pointer_to_member_type_info*;
|
||||
_ZNK10__cxxabiv119__pointer_type_info*;
|
||||
_ZNK10__cxxabiv120__si_class_type_info*;
|
||||
_ZNK10__cxxabiv121__vmi_class_type_info*;
|
||||
|
||||
# virtual table
|
||||
_ZTVN10__cxxabiv117__array_type_infoE;
|
||||
_ZTVN10__cxxabiv117__class_type_infoE;
|
||||
_ZTVN10__cxxabiv116__enum_type_infoE;
|
||||
_ZTVN10__cxxabiv120__function_type_infoE;
|
||||
_ZTVN10__cxxabiv123__fundamental_type_infoE;
|
||||
_ZTVN10__cxxabiv117__pbase_type_infoE;
|
||||
_ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
|
||||
_ZTVN10__cxxabiv119__pointer_type_infoE;
|
||||
_ZTVN10__cxxabiv120__si_class_type_infoE;
|
||||
_ZTVN10__cxxabiv121__vmi_class_type_infoE;
|
||||
_ZTVN10__cxxabiv123__fundamental_type_infoE;
|
||||
_ZTVN10__cxxabiv117__array_type_infoE;
|
||||
_ZTVN10__cxxabiv120__function_type_infoE;
|
||||
_ZTVN10__cxxabiv116__enum_type_infoE;
|
||||
_ZTVN10__cxxabiv117__pbase_type_infoE;
|
||||
_ZTVN10__cxxabiv119__pointer_type_infoE;
|
||||
_ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
|
||||
|
||||
# typeinfo structure (and some names)
|
||||
_ZTI[a-z];
|
||||
_ZTIP[a-z];
|
||||
_ZTIPK[a-z];
|
||||
_ZTIN10__cxxabiv117__array_type_infoE;
|
||||
_ZTIN10__cxxabiv117__class_type_infoE;
|
||||
_ZTIN10__cxxabiv116__enum_type_infoE;
|
||||
_ZTIN10__cxxabiv120__function_type_infoE;
|
||||
_ZTIN10__cxxabiv123__fundamental_type_infoE;
|
||||
_ZTIN10__cxxabiv117__pbase_type_infoE;
|
||||
_ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
|
||||
_ZTIN10__cxxabiv119__pointer_type_infoE;
|
||||
_ZTIN10__cxxabiv120__si_class_type_infoE;
|
||||
_ZTIN10__cxxabiv121__vmi_class_type_infoE;
|
||||
_ZTIN10__cxxabiv123__fundamental_type_infoE;
|
||||
_ZTIN10__cxxabiv117__array_type_infoE;
|
||||
_ZTIN10__cxxabiv120__function_type_infoE;
|
||||
_ZTIN10__cxxabiv116__enum_type_infoE;
|
||||
_ZTIN10__cxxabiv117__pbase_type_infoE;
|
||||
_ZTIN10__cxxabiv119__pointer_type_infoE;
|
||||
_ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
|
||||
|
||||
# typeinfo name
|
||||
_ZTS[a-z];
|
||||
_ZTSP[a-z];
|
||||
_ZTSPK[a-z];
|
||||
_ZTSN10__cxxabiv117__array_type_infoE;
|
||||
_ZTSN10__cxxabiv117__class_type_infoE;
|
||||
_ZTSN10__cxxabiv116__enum_type_infoE;
|
||||
_ZTSN10__cxxabiv120__function_type_infoE;
|
||||
_ZTSN10__cxxabiv123__fundamental_type_infoE;
|
||||
_ZTSN10__cxxabiv117__pbase_type_infoE;
|
||||
_ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
|
||||
_ZTSN10__cxxabiv119__pointer_type_infoE;
|
||||
_ZTSN10__cxxabiv120__si_class_type_infoE;
|
||||
_ZTSN10__cxxabiv121__vmi_class_type_infoE;
|
||||
|
||||
# __gnu_cxx::_verbose_terminate_handler()
|
||||
_ZN9__gnu_cxx27__verbose_terminate_handlerEv;
|
||||
|
@ -289,13 +289,8 @@ namespace std
|
||||
// counted on to be zero-initialized.
|
||||
id() { }
|
||||
|
||||
inline size_t
|
||||
_M_id() const
|
||||
{
|
||||
if (!_M_index)
|
||||
_M_index = 1 + __exchange_and_add(&_S_highwater, 1);
|
||||
return _M_index - 1;
|
||||
}
|
||||
size_t
|
||||
_M_id() const;
|
||||
};
|
||||
|
||||
|
||||
|
@ -68,6 +68,14 @@ namespace std
|
||||
__gthread_once_t locale::_S_once = __GTHREAD_ONCE_INIT;
|
||||
#endif
|
||||
|
||||
size_t
|
||||
locale::id::_M_id() const
|
||||
{
|
||||
if (!_M_index)
|
||||
_M_index = 1 + __exchange_and_add(&_S_highwater, 1);
|
||||
return _M_index - 1;
|
||||
}
|
||||
|
||||
// Definitions for static const data members of locale::id
|
||||
_Atomic_word locale::id::_S_highwater; // init'd to 0 by linker
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user