gnu-versioned-namespace.ver revision 169691
1## Linker script for GNU namespace versioning. 2## 3## Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 4## 5## This file is part of the libstdc++ version 3 distribution. 6## 7## This file is part of the GNU ISO C++ Library. This library is free 8## software; you can redistribute it and/or modify it under the 9## terms of the GNU General Public License as published by the 10## Free Software Foundation; either version 2, or (at your option) 11## any later version. 12## 13## This library is distributed in the hope that it will be useful, 14## but WITHOUT ANY WARRANTY; without even the implied warranty of 15## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16## GNU General Public License for more details. 17## 18## You should have received a copy of the GNU General Public License along 19## with this library; see the file COPYING. If not, write to the Free 20## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 21## USA. 22 23GLIBCXX_3.7 { 24 25 global: 26 27 # Names inside the 'extern' block are demangled names. 28 extern "C++" 29 { 30 std::_6::*; 31 std::* 32 }; 33 34 # operator new(size_t) 35 _Znw[jm]; 36 # operator new(size_t, std::nothrow_t const&) 37 _Znw[jm]RKSt9nothrow_t; 38 39 # operator delete(void*) 40 _ZdlPv; 41 # operator delete(void*, std::nothrow_t const&) 42 _ZdlPvRKSt9nothrow_t; 43 44 # operator new[](size_t) 45 _Zna[jm]; 46 # operator new[](size_t, std::nothrow_t const&) 47 _Zna[jm]RKSt9nothrow_t; 48 49 # operator delete[](void*) 50 _ZdaPv; 51 # operator delete[](void*, std::nothrow_t const&) 52 _ZdaPvRKSt9nothrow_t; 53 54 # function-scope static objects requires a guard variable. 55 _ZGVNSt*; 56 57 _ZTT*; 58 _ZTV*; 59 60 _ZTI*; 61 _ZTS*; 62 63 _ZTv0_n*; 64 65 # std::__convert_to_v 66 _ZNSt2_614__convert_to_v*; 67 68 # std::__copy_streambufs 69 _ZNSt2_617__copy_streambufsI[cw]NS_11char_traitsI[cw]EEEEiPNS_15basic_streambufIT_T0_EES7_; 70 71 # __gnu_cxx::__atomic_add 72 # __gnu_cxx::__exchange_and_add 73 _ZN9__gnu_cxx2_612__atomic_addEPV[il][il]; 74 _ZN9__gnu_cxx2_618__exchange_and_addEPV[li][il]; 75 76 # __gnu_cxx::__pool 77 _ZN9__gnu_cxx2_66__poolILb[01]EE13_M_initializeEv; 78 _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reserve_blockE[jm][jm]; 79 _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reclaim_blockEPc[jm]; 80 _ZN9__gnu_cxx2_66__poolILb[01]EE10_M_destroyEv; 81 _ZN9__gnu_cxx2_66__poolILb1EE16_M_get_thread_idEv; 82 83 _ZN9__gnu_cxx2_617__pool_alloc_base9_M_refillE[jm]; 84 _ZN9__gnu_cxx2_617__pool_alloc_base16_M_get_free_listE[jm]; 85 _ZN9__gnu_cxx2_617__pool_alloc_base12_M_get_mutexEv; 86 87 _ZN9__gnu_cxx2_69free_list6_M_getE[jm]; 88 _ZN9__gnu_cxx2_69free_list8_M_clearEv; 89 90 local: 91 *; 92}; 93 94 95# Symbols in the support library (libsupc++) have their own tag. 96CXXABI_1.7 { 97 98 global: 99 __cxa_allocate_exception; 100 __cxa_bad_cast; 101 __cxa_bad_typeid; 102 __cxa_begin_catch; 103 __cxa_begin_cleanup; 104 __cxa_call_unexpected; 105 __cxa_current_exception_type; 106 __cxa_demangle; 107 __cxa_end_catch; 108 __cxa_end_cleanup; 109 __cxa_free_exception; 110 __cxa_get_exception_ptr; 111 __cxa_get_globals; 112 __cxa_get_globals_fast; 113 __cxa_guard_abort; 114 __cxa_guard_acquire; 115 __cxa_guard_release; 116 __cxa_pure_virtual; 117 __cxa_rethrow; 118 __cxa_throw; 119 __cxa_type_match; 120 __cxa_vec_cctor; 121 __cxa_vec_cleanup; 122 __cxa_vec_ctor; 123 __cxa_vec_delete2; 124 __cxa_vec_delete3; 125 __cxa_vec_delete; 126 __cxa_vec_dtor; 127 __cxa_vec_new2; 128 __cxa_vec_new3; 129 __cxa_vec_new; 130 __gxx_personality_v0; 131 __gxx_personality_sj0; 132 __dynamic_cast; 133 134 # *_type_info classes, ctor and dtor 135 _ZN10__cxxabiv117__array_type_info*; 136 _ZN10__cxxabiv117__class_type_info*; 137 _ZN10__cxxabiv116__enum_type_info*; 138 _ZN10__cxxabiv120__function_type_info*; 139 _ZN10__cxxabiv123__fundamental_type_info*; 140 _ZN10__cxxabiv117__pbase_type_info*; 141 _ZN10__cxxabiv129__pointer_to_member_type_info*; 142 _ZN10__cxxabiv119__pointer_type_info*; 143 _ZN10__cxxabiv120__si_class_type_info*; 144 _ZN10__cxxabiv121__vmi_class_type_info*; 145 146 # *_type_info classes, member functions 147 _ZNK10__cxxabiv117__class_type_info*; 148 _ZNK10__cxxabiv120__function_type_info*; 149 _ZNK10__cxxabiv117__pbase_type_info*; 150 _ZNK10__cxxabiv129__pointer_to_member_type_info*; 151 _ZNK10__cxxabiv119__pointer_type_info*; 152 _ZNK10__cxxabiv120__si_class_type_info*; 153 _ZNK10__cxxabiv121__vmi_class_type_info*; 154 155 # virtual table 156 _ZTVN10__cxxabiv117__array_type_infoE; 157 _ZTVN10__cxxabiv117__class_type_infoE; 158 _ZTVN10__cxxabiv116__enum_type_infoE; 159 _ZTVN10__cxxabiv120__function_type_infoE; 160 _ZTVN10__cxxabiv123__fundamental_type_infoE; 161 _ZTVN10__cxxabiv117__pbase_type_infoE; 162 _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; 163 _ZTVN10__cxxabiv119__pointer_type_infoE; 164 _ZTVN10__cxxabiv120__si_class_type_infoE; 165 _ZTVN10__cxxabiv121__vmi_class_type_infoE; 166 167 # typeinfo structure (and some names) 168 _ZTI[a-z]; 169 _ZTIP[a-z]; 170 _ZTIPK[a-z]; 171 _ZTIN10__cxxabiv117__array_type_infoE; 172 _ZTIN10__cxxabiv117__class_type_infoE; 173 _ZTIN10__cxxabiv116__enum_type_infoE; 174 _ZTIN10__cxxabiv120__function_type_infoE; 175 _ZTIN10__cxxabiv123__fundamental_type_infoE; 176 _ZTIN10__cxxabiv117__pbase_type_infoE; 177 _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; 178 _ZTIN10__cxxabiv119__pointer_type_infoE; 179 _ZTIN10__cxxabiv120__si_class_type_infoE; 180 _ZTIN10__cxxabiv121__vmi_class_type_infoE; 181 182 # typeinfo name 183 _ZTS[a-z]; 184 _ZTSP[a-z]; 185 _ZTSPK[a-z]; 186 _ZTSN10__cxxabiv117__array_type_infoE; 187 _ZTSN10__cxxabiv117__class_type_infoE; 188 _ZTSN10__cxxabiv116__enum_type_infoE; 189 _ZTSN10__cxxabiv120__function_type_infoE; 190 _ZTSN10__cxxabiv123__fundamental_type_infoE; 191 _ZTSN10__cxxabiv117__pbase_type_infoE; 192 _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; 193 _ZTSN10__cxxabiv119__pointer_type_infoE; 194 _ZTSN10__cxxabiv120__si_class_type_infoE; 195 _ZTSN10__cxxabiv121__vmi_class_type_infoE; 196 197 # __gnu_cxx::_verbose_terminate_handler() 198 _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv; 199 200 local: 201 *; 202}; 203