-## Linker script for GNU ld 2.11.94+ only.
+## Linker script for GNU ld 2.13.91+ only.
##
-## Copyright (C) 2002 Free Software Foundation, Inc.
+## Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
##
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
-GLIBCPP_3.2 {
+GLIBCXX_3.4 {
global:
# Names inside the 'extern' block are demangled names.
- # All but the last are terminated with a semicolon.
extern "C++"
{
- std::[A-Za]*;
- std::ba[a-r]*;
- std::basic_[a-r]*;
- std::basic_streambuf*;
- std::basic_stringbuf*;
- std::basic_stringstream*;
- std::basic_[t-z]*;
- std::ba[t-z]*;
- std::b[b-z]*;
- std::c[a-n]*;
- std::co[a-c]*;
- std::codecvt_byname*;
- std::codecvt::[A-Za-b]*;
- std::codecvt::[A-Zd-z]*;
- std::codecvt_c;
- std::codecvt_w;
- std::co[e-z]*;
- std::c[p-z]*;
- std::c_[a-z]*;
- std::[A-Zd-k]*;
+ std::[A-Za-h]*;
+ std::i[a-n]*;
+ std::ios_base::[A-Ha-z]*;
+ std::ios_base::_M_grow_words*;
+ std::ios_base::_M_init*;
+ std::ios_base::Init::[A-Za-z]*;
+ std::ios_base::[J-Za-z]*;
+ std::i[p-z]*;
+ std::[A-Zj-k]*;
std::length_error*;
std::logic_error*;
- std::locale::[A-Za-z]*;
- std::locale::_[A-Ra-z]*;
- std::locale::_S_classic;
- std::locale::_S_global;
- std::locale::_S_num_categories;
+ std::locale::[A-Za-e]*;
+ std::locale::facet::[A-Za-z]*;
+ std::locale::facet::_S_get_c_locale*;
+ std::locale::facet::_S_clone_c_locale*;
+ std::locale::facet::_S_create_c_locale*;
+ std::locale::facet::_S_destroy_c_locale*;
+ std::locale::[A-Zg-h]*;
+ std::locale::id::[A-Za-z]*;
+ std::locale::id::_M_id*;
+ std::locale::[A-Zj-z]*;
+ std::locale::_[A-Ha-z]*;
+ std::locale::_Impl::[A-Za-z]*;
+ std::locale::_Impl::_M_[A-Za-z]*;
+ std::locale::_[J-Ra-z]*;
std::locale::_S_normalize_category*;
std::locale::_[T-Za-z]*;
std::[A-Zm-z]*;
std::__throw_*;
std::__basic_file*;
- std::__num_base*;
std::__timepunct*;
std::__numeric_limits_base*;
- std::_S_bit_count;
- std::_S_first_one
+ std::__num_base::_S_format_float*;
+ std::__num_base::_S_format_int*;
+ std::__num_base::_S_atoms_in;
+ std::__num_base::_S_atoms_out;
+ std::__moneypunct_cache*;
+ std::__numpunct_cache*;
+ std::__timepunct_cache*;
+ __gnu_norm::*;
+ __gnu_debug::_Safe_iterator_base*;
+ __gnu_debug::_Safe_sequence_base*;
+ __gnu_debug::_Error_formatter*
};
# Names not in an 'extern' block are mangled names.
- # std::string minus binary operator plus
- _ZNKSs*;
- _ZNKSb*;
- _ZNSs[A-Za-z]*;
- _ZNSs[0-9][A-Za-z]*;
- _ZNSs[0-9][0-9][A-Za-z]*;
- _ZNSs[0-9]_[A-Ra-z]*;
- _ZNSs[0-9][0-9]_[A-Ra-z]*;
- _ZNSs12_S_empty_repEv;
- _ZNSs20_S_empty_rep_storageE;
- _ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE;
- _ZNSs12_S_constructE*;
- _ZNSs13_S_copy_charsE*;
- _ZNSbIwSt11char_traitsIwESaIwEE[A-Ra-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9][A-Ra-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9][A-Ra-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9]_[A-Ra-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_[A-Ra-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*;
- _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_;
- _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv;
- _ZSt24__uninitialized_copy_auxIN9*;
- _ZSt26__uninitialized_fill_n_aux*;
- _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_;
- _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_;
- _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_;
- _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_;
-
- # std::locale destructors
- _ZNSt6localeD*;
-
- # std::codecvt<char> members.
- _ZNKSt7codecvtIcc11__mbstate_tE*;
- # std::codecvt<char>::~codecvt
- _ZNSt7codecvtIcc11__mbstate_tED*;
- # std::codecvt<char>::codecvt(size_t), where size_t variable.
- _ZNSt7codecvtIcc11__mbstate_tEC[12]E[jm];
- # std::codecvt<char>::id
- _ZNSt7codecvtIcc11__mbstate_tE2idE;
-
- # std::codecvt<wchar_t> members.
- _ZNKSt7codecvtIwc11__mbstate_tE*;
- # std::codecvt<wchar_t>::~codecvt
- _ZNSt7codecvtIwc11__mbstate_tED*;
- # std::codecvt<wchar_t>::codecvt(size_t), where size_t variable.
- _ZNSt7codecvtIwc11__mbstate_tEC[12]E[jm];
- # std::codecvt<wchar_t>::id
- _ZNSt7codecvtIwc11__mbstate_tE2idE;
-
- # std::use_facet<codecvt>
- _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale;
- _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale;
-
- # std::has_facet*
- _ZSt9has_facet*;
-
- # std::__default_alloc_template
- _ZNSt24__default_alloc_templateILb1ELi0EE10deallocate*;
- _ZNSt24__default_alloc_templateILb1ELi0EE8allocate*;
- _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE;
- _ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE;
- _ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillE*;
-
- # std::__default_alloc_template to be removed in the future
- _ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPv*;
- _ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upE*;
- _ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocE*;
- _ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexE*;
- _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
- _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
- _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
- _ZNSt24__default_alloc_templateILb1ELi0EE5_Lock*;
-
- # operator new(unsigned)
- _Znwj;
- # operator new(unsigned, std::nothrow_t const&)
- _ZnwjRKSt9nothrow_t;
- # operator new(unsigned long)
- _Znwm;
- # operator new(unsigned long, std::nothrow_t const&)
- _ZnwmRKSt9nothrow_t;
+ # 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[](unsigned)
- _Znaj;
- # operator new[](unsigned, std::nothrow_t const&)
- _ZnajRKSt9nothrow_t;
- # operator new[](unsigned long)
- _Znam;
- # operator new[](unsigned long, std::nothrow_t const&)
- _ZnamRKSt9nothrow_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;
- # vtable
- _ZTV*;
- _ZTT*;
+ # std::locale destructors
+ _ZNSt6localeD*;
+
+ # std::locale::facet destructors
+ _ZNSt6locale5facetD*;
+
+ # std::locale::_Impl constructors, destructors
+ _ZNSt6locale5_ImplC*;
+ _ZNSt6locale5_ImplD*;
+
+ # std::ios_base, std::ios_base::Init destructors
+ _ZNSt8ios_baseD*;
+ _ZNSt8ios_base4InitD*;
+
+ # bool has_facet
+ _ZSt9has_facet*;
+
+ # _Rb_tree
+ _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
+ _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
+ _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
+ _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
+ _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_;
+ _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_;
+ _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
+ _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
+ _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_;
- # typeinfo
- _ZTI*;
- _ZTS*;
+ # std::__codecvt_abstract_base*
+ _ZNStSt23__codecvt_abstract_base*;
+
+ # virtual table
+ _ZTVNSt8ios_base7failureE;
+ _ZTVNSt6locale5facetE;
+ _ZTVS[a-z];
+ _ZTVSt[0-9][A-Za-z]*;
+ _ZTVSt[0-9][0-9][A-Za-z]*;
+ _ZTVSt11__timepunctI[cw]E;
+ _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+ _ZTVSt21__ctype_abstract_baseI[cw]E;
+
+ # VTT structure
+ _ZTTS[a-z];
+ _ZTTSt[0-9][A-Za-z]*;
+ _ZTTSt[0-9][0-9][A-Za-z]*;
+
+ # typeinfo structure
+ _ZTIS[a-z];
+ _ZTINSt8ios_base7failureE;
+ _ZTINSt6locale5facetE;
+ _ZTISt[0-9][A-Za-z]*;
+ _ZTISt[0-9][0-9][A-Za-z]*;
+ _ZTISt11__timepunctI[cw]E;
+ _ZTISt10__num_base;
+ _ZTISt21__ctype_abstract_baseI[cw]E;
+ _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+ _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
+ _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
+
+ # typeinfo name
+ _ZTSNSt8ios_base7failureE;
+ _ZTSNSt6locale5facetE;
+ _ZTSS[a-z];
+ _ZTSSt[0-9][A-Za-z]*;
+ _ZTSSt[0-9][0-9][A-Za-z]*;
+ _ZTSSt11__timepunctI[cw]E;
+ _ZTSSt10__num_base;
+ _ZTSSt21__ctype_abstract_baseI[cw]E;
+ _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
+ _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
+ _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
# function-scope static objects requires a guard variable.
- _ZGV*;
+ _ZGVNSt*;
# virtual function thunks
- _ZTh*;
- _ZTv*;
- _ZTc*;
+ _ZThn8_NS*;
+ _ZThn16_NS*;
+ _ZTv0_n12_NS*;
+ _ZTv0_n24_NS*;
# std::__convert_to_v
_ZSt14__convert_to_v*;
+ # stub functions from libmath
+ sinf;
+ sinl;
+ sinhf;
+ sinhl;
+ cosf;
+ cosl;
+ coshf;
+ coshl;
+ tanf;
+ tanl;
+ tanhf;
+ tanhl;
+ atan2f;
+ atan2l;
+ expf;
+ expl;
+ hypotf;
+ hypotl;
+ hypot;
+ logf;
+ logl;
+ log10f;
+ log10l;
+ powf;
+ powl;
+ sqrtf;
+ sqrtl;
+ copysignf;
+ __signbit;
+ __signbitf;
+ __signbitl;
+
+ # __gnu_cxx::stdio_sync_filebuf
+ _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
+
+ # Needed only when generic cpu's atomicity.h is in use.
+ _ZN9__gnu_cxx17_Atomic_add_mutexE;
+ _ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
+ _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
+
+ # DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here.
+
local:
*;
};
-# Symbols added after GLIBCPP_3.2
-GLIBCPP_3.2.1 {
-
- _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj;
- _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj;
- _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj;
- _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj;
-
- _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_;
- _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_;
-
- _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
-
- # stub functions from libmath
- sinf;
- sinl;
- sinhf;
- sinhl;
- cosf;
- cosl;
- coshf;
- coshl;
- tanf;
- tanl;
- tanhf;
- tanhl;
- atan2f;
- atan2l;
- expf;
- expl;
- hypotf;
- hypotl;
- hypot;
- logf;
- logl;
- log10f;
- log10l;
- powf;
- powl;
- sqrtf;
- sqrtl;
- copysignf;
- nan;
- __signbit;
- __signbitf;
- __signbitl;
-
-} GLIBCPP_3.2;
# Symbols in the support library (libsupc++) have their own tag.
-CXXABI_1.2 {
+CXXABI_1.3 {
global:
- __cxa_*;
+ __cxa_allocate_exception;
+ __cxa_bad_cast;
+ __cxa_bad_typeid;
+ __cxa_begin_catch;
+ __cxa_call_unexpected;
+ __cxa_current_exception_type;
+ __cxa_demangle;
+ __cxa_end_catch;
+ __cxa_free_exception;
+ __cxa_get_globals;
+ __cxa_get_globals_fast;
+ __cxa_guard_abort;
+ __cxa_guard_acquire;
+ __cxa_guard_release;
+ __cxa_pure_virtual;
+ __cxa_rethrow;
+ __cxa_throw;
+ __cxa_vec_cctor;
+ __cxa_vec_cleanup;
+ __cxa_vec_ctor;
+ __cxa_vec_delete2;
+ __cxa_vec_delete3;
+ __cxa_vec_delete;
+ __cxa_vec_dtor;
+ __cxa_vec_new2;
+ __cxa_vec_new3;
+ __cxa_vec_new;
__gxx_personality_v0;
__gxx_personality_sj0;
__dynamic_cast;
+ # *_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*;
+
+ # *_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;
+
+ # 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;
+
+ # 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;