OSDN Git Service

PR libstdc++/14097
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / config / linker-map.gnu
index 368a207..27227b3 100644 (file)
@@ -1,6 +1,6 @@
-## 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-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::__numeric_limits_base*;
-      std::_S_bit_count;
-      std::_S_first_one;
-      std::__default_alloc_template*;
-      std::__malloc_alloc_template*
+      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::has_facet*
-    _ZSt9has_facet*;
-
-    # 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*;
+
+    # 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
-    _ZTI*;
-    _ZTS*;
+    # 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 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;