1## Linker script for GNU namespace versioning. 2## 3## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 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 3, 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 COPYING3. If not see 20## <http://www.gnu.org/licenses/>. 21 22GLIBCXX_3.7 { 23 24 global: 25 26 # Names inside the 'extern' block are demangled names. 27 extern "C++" 28 { 29 std::_6::*; 30 std::* 31 }; 32 33 # operator new(size_t) 34 _Znw[jm]; 35 # operator new(size_t, std::nothrow_t const&) 36 _Znw[jm]RKSt9nothrow_t; 37 38 # operator delete(void*) 39 _ZdlPv; 40 # operator delete(void*, std::nothrow_t const&) 41 _ZdlPvRKSt9nothrow_t; 42 43 # operator new[](size_t) 44 _Zna[jm]; 45 # operator new[](size_t, std::nothrow_t const&) 46 _Zna[jm]RKSt9nothrow_t; 47 48 # operator delete[](void*) 49 _ZdaPv; 50 # operator delete[](void*, std::nothrow_t const&) 51 _ZdaPvRKSt9nothrow_t; 52 53 # function-scope static objects requires a guard variable. 54 _ZGVNSt*; 55 56 _ZTT*; 57 _ZTV*; 58 59 _ZTI*; 60 _ZTS*; 61 62 _ZTv0_n*; 63 64 # std::__convert_to_v 65 _ZNSt2_614__convert_to_v*; 66 67 # std::__copy_streambufs 68 _ZNSt2_617__copy_streambufsI*; 69 _ZNSt2_621__copy_streambufs_eofI*; 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 # debug mode 91 _ZN10__gnu_norm15_List_node_base4hook*; 92 _ZN10__gnu_norm15_List_node_base4swap*; 93 _ZN10__gnu_norm15_List_node_base6unhookEv; 94 _ZN10__gnu_norm15_List_node_base7reverseEv; 95 _ZN10__gnu_norm15_List_node_base8transfer*; 96 97 _ZNSt6__norm15_List_node_base4hook*; 98 _ZNSt6__norm15_List_node_base4swap*; 99 _ZNSt6__norm15_List_node_base6unhookEv; 100 _ZNSt6__norm15_List_node_base7reverseEv; 101 _ZNSt6__norm15_List_node_base8transfer*; 102 103 _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv; 104 _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; 105 _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; 106 _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; 107 _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; 108 109 _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; 110 _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb; 111 _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv; 112 _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv; 113 _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv; 114 _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv; 115 _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; 116 117 _ZNK11__gnu_debug16_Error_formatter10_M_message*; 118 _ZNK11__gnu_debug16_Error_formatter10_Parameter*; 119 _ZNK11__gnu_debug16_Error_formatter13_M_print_word*; 120 _ZNK11__gnu_debug16_Error_formatter15_M_print_string*; 121 _ZNK11__gnu_debug16_Error_formatter8_M_error*; 122 _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv; 123 124 local: 125 *; 126}; 127 128 129# Symbols in the support library (libsupc++) have their own tag. 130CXXABI_1.7 { 131 132 global: 133 __cxa_allocate_exception; 134 __cxa_bad_cast; 135 __cxa_bad_typeid; 136 __cxa_begin_catch; 137 __cxa_begin_cleanup; 138 __cxa_call_unexpected; 139 __cxa_current_exception_type; 140 __cxa_demangle; 141 __cxa_end_catch; 142 __cxa_end_cleanup; 143 __cxa_free_exception; 144 __cxa_get_exception_ptr; 145 __cxa_get_globals; 146 __cxa_get_globals_fast; 147 __cxa_guard_abort; 148 __cxa_guard_acquire; 149 __cxa_guard_release; 150 __cxa_pure_virtual; 151 __cxa_rethrow; 152 __cxa_throw; 153 __cxa_type_match; 154 __cxa_vec_cctor; 155 __cxa_vec_cleanup; 156 __cxa_vec_ctor; 157 __cxa_vec_delete2; 158 __cxa_vec_delete3; 159 __cxa_vec_delete; 160 __cxa_vec_dtor; 161 __cxa_vec_new2; 162 __cxa_vec_new3; 163 __cxa_vec_new; 164 __gxx_personality_v0; 165 __gxx_personality_sj0; 166 __dynamic_cast; 167 168 # *_type_info classes, ctor and dtor 169 _ZN10__cxxabiv117__array_type_info*; 170 _ZN10__cxxabiv117__class_type_info*; 171 _ZN10__cxxabiv116__enum_type_info*; 172 _ZN10__cxxabiv120__function_type_info*; 173 _ZN10__cxxabiv123__fundamental_type_info*; 174 _ZN10__cxxabiv117__pbase_type_info*; 175 _ZN10__cxxabiv129__pointer_to_member_type_info*; 176 _ZN10__cxxabiv119__pointer_type_info*; 177 _ZN10__cxxabiv120__si_class_type_info*; 178 _ZN10__cxxabiv121__vmi_class_type_info*; 179 180 # *_type_info classes, member functions 181 _ZNK10__cxxabiv117__class_type_info*; 182 _ZNK10__cxxabiv120__function_type_info*; 183 _ZNK10__cxxabiv117__pbase_type_info*; 184 _ZNK10__cxxabiv129__pointer_to_member_type_info*; 185 _ZNK10__cxxabiv119__pointer_type_info*; 186 _ZNK10__cxxabiv120__si_class_type_info*; 187 _ZNK10__cxxabiv121__vmi_class_type_info*; 188 189 # virtual table 190 _ZTVN10__cxxabiv117__array_type_infoE; 191 _ZTVN10__cxxabiv117__class_type_infoE; 192 _ZTVN10__cxxabiv116__enum_type_infoE; 193 _ZTVN10__cxxabiv120__function_type_infoE; 194 _ZTVN10__cxxabiv123__fundamental_type_infoE; 195 _ZTVN10__cxxabiv117__pbase_type_infoE; 196 _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; 197 _ZTVN10__cxxabiv119__pointer_type_infoE; 198 _ZTVN10__cxxabiv120__si_class_type_infoE; 199 _ZTVN10__cxxabiv121__vmi_class_type_infoE; 200 201 # typeinfo structure 202 _ZTI[a-z]; 203 _ZTIP[a-z]; 204 _ZTIPK[a-z]; 205 _ZTIN10__cxxabiv117__array_type_infoE; 206 _ZTIN10__cxxabiv117__class_type_infoE; 207 _ZTIN10__cxxabiv116__enum_type_infoE; 208 _ZTIN10__cxxabiv120__function_type_infoE; 209 _ZTIN10__cxxabiv123__fundamental_type_infoE; 210 _ZTIN10__cxxabiv117__pbase_type_infoE; 211 _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; 212 _ZTIN10__cxxabiv119__pointer_type_infoE; 213 _ZTIN10__cxxabiv120__si_class_type_infoE; 214 _ZTIN10__cxxabiv121__vmi_class_type_infoE; 215 _ZTIN10__cxxabiv115__forced_unwindE; 216 _ZTIN10__cxxabiv119__foreign_exceptionE; 217 218 # typeinfo name 219 _ZTS[a-z]; 220 _ZTSP[a-z]; 221 _ZTSPK[a-z]; 222 _ZTSN10__cxxabiv117__array_type_infoE; 223 _ZTSN10__cxxabiv117__class_type_infoE; 224 _ZTSN10__cxxabiv116__enum_type_infoE; 225 _ZTSN10__cxxabiv120__function_type_infoE; 226 _ZTSN10__cxxabiv123__fundamental_type_infoE; 227 _ZTSN10__cxxabiv117__pbase_type_infoE; 228 _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; 229 _ZTSN10__cxxabiv119__pointer_type_infoE; 230 _ZTSN10__cxxabiv120__si_class_type_infoE; 231 _ZTSN10__cxxabiv121__vmi_class_type_infoE; 232 233 # __gnu_cxx::_verbose_terminate_handler() 234 _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv; 235 236 local: 237 *; 238}; 239