-## 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.1 {
+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-z]*;
+ 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-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::__timepunct*;
+ std::__numeric_limits_base*;
+ 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.
- # 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_;
+
+ # std::__codecvt_abstract_base*
+ _ZNStSt23__codecvt_abstract_base*;
- # typeinfo
- _ZTI*;
- _ZTS*;
+ # 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;
+
+ # 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;
# 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 in the support library (libsupc++) have their own tag.
-CXXABI_1 {
+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;
+
local:
*;
};
-