1## Linker script for GNU namespace versioning. 2## 3## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009, 2011, 2012 4## Free Software Foundation, Inc. 5## 6## This file is part of the libstdc++ version 3 distribution. 7## 8## This file is part of the GNU ISO C++ Library. This library is free 9## software; you can redistribute it and/or modify it under the 10## terms of the GNU General Public License as published by the 11## Free Software Foundation; either version 3, or (at your option) 12## any later version. 13## 14## This library is distributed in the hope that it will be useful, 15## but WITHOUT ANY WARRANTY; without even the implied warranty of 16## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17## GNU General Public License for more details. 18## 19## You should have received a copy of the GNU General Public License along 20## with this library; see the file COPYING3. If not see 21## <http://www.gnu.org/licenses/>. 22 23GLIBCXX_7.0 { 24 25 global: 26 27 # Names inside the 'extern' block are demangled names. 28 extern "C++" 29 { 30 std::__7::*; 31 std::* 32 }; 33 34 # locale 35 _ZNSt3__79has_facetINS_*; 36 37 # hash 38 _ZNSt8__detail3__712__prime_listE; 39 _ZNSt3tr18__detail3__712__prime_listE; 40 41 # thread/mutex/condition_variable/future 42 __once_proxy; 43 44 # operator new(size_t) 45 _Znw[jmy]; 46 # operator new(size_t, std::nothrow_t const&) 47 _Znw[jmy]RKSt9nothrow_t; 48 49 # operator delete(void*) 50 _ZdlPv; 51 # operator delete(void*, std::nothrow_t const&) 52 _ZdlPvRKSt9nothrow_t; 53 54 # operator new[](size_t) 55 _Zna[jmy]; 56 # operator new[](size_t, std::nothrow_t const&) 57 _Zna[jmy]RKSt9nothrow_t; 58 59 # operator delete[](void*) 60 _ZdaPv; 61 # operator delete[](void*, std::nothrow_t const&) 62 _ZdaPvRKSt9nothrow_t; 63 64 # function-scope static objects requires a guard variable. 65 _ZGVNSt*; 66 67 _ZTT*; 68 _ZTV*; 69 70 _ZTI*; 71 _ZTS*; 72 73 _ZTv0_n*; 74 75 # std::__detail::_List_node_base 76 _ZNSt8__detail3__715_List_node_base7_M_hook*; 77 _ZNSt8__detail3__715_List_node_base9_M_unhookEv; 78 _ZNSt8__detail3__715_List_node_base10_M_reverseEv; 79 _ZNSt8__detail3__715_List_node_base11_M_transfer*; 80 _ZNSt8__detail3__715_List_node_base4swapER*; 81 82 # std::__convert_to_v 83 _ZNSt3__714__convert_to_v*; 84 85 # std::__copy_streambufs 86 _ZNSt3__717__copy_streambufsI*; 87 _ZNSt3__721__copy_streambufs_eofI*; 88 89 # __gnu_cxx::__atomic_add 90 # __gnu_cxx::__exchange_and_add 91 _ZN9__gnu_cxx3__712__atomic_addEPV[il][il]; 92 _ZN9__gnu_cxx3__718__exchange_and_addEPV[li][il]; 93 94 # __gnu_cxx::__pool 95 _ZN9__gnu_cxx3__76__poolILb[01]EE13_M_initializeEv; 96 _ZN9__gnu_cxx3__76__poolILb[01]EE16_M_reserve_blockE[jmy][jmy]; 97 _ZN9__gnu_cxx3__76__poolILb[01]EE16_M_reclaim_blockEPc[jmy]; 98 _ZN9__gnu_cxx3__76__poolILb[01]EE10_M_destroyEv; 99 _ZN9__gnu_cxx3__76__poolILb1EE16_M_get_thread_idEv; 100 101 _ZN9__gnu_cxx3__717__pool_alloc_base9_M_refillE[jmy]; 102 _ZN9__gnu_cxx3__717__pool_alloc_base16_M_get_free_listE[jmy]; 103 _ZN9__gnu_cxx3__717__pool_alloc_base12_M_get_mutexEv; 104 105 _ZN9__gnu_cxx3__79free_list6_M_getE[jmy]; 106 _ZN9__gnu_cxx3__79free_list8_M_clearEv; 107 108 # __gnu_cxx::stdio_sync_filebuf 109 _ZTVN9__gnu_cxx3__718stdio_sync_filebufI[cw]St3__711char_traitsI[cw]EEE; 110 _ZN9__gnu_cxx3__718stdio_sync_filebufI[cw]NSt3__711char_traitsI[cw]EEE[5-9]*; 111 112 # debug mode 113 _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv; 114 _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; 115 _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; 116 _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; 117 _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; 118 119 _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*; 120 _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*; 121 _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv; 122 _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv; 123 _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv; 124 _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv; 125 _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; 126 127 _ZNK11__gnu_debug16_Error_formatter10_M_message*; 128 _ZNK11__gnu_debug16_Error_formatter10_Parameter*; 129 _ZNK11__gnu_debug16_Error_formatter13_M_print_word*; 130 _ZNK11__gnu_debug16_Error_formatter15_M_print_string*; 131 _ZNK11__gnu_debug16_Error_formatter8_M_error*; 132 _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv; 133 134 # __gnu_debug::_Safe_unordered_container_base 135 # __gnu_debug::_Safe_local_iterator_base 136 _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_; 137 _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv; 138 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; 139 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv; 140 141 142 # parallel mode 143 _ZN14__gnu_parallel9_Settings3getEv; 144 _ZN14__gnu_parallel9_Settings3setERS0_; 145 146 local: 147 *; 148}; 149 150 151# Symbols in the support library (libsupc++) have their own tag. 152CXXABI_2.0 { 153 154 global: 155 __cxa_allocate_exception; 156 __cxa_allocate_dependent_exception; 157 __cxa_bad_cast; 158 __cxa_bad_typeid; 159 __cxa_begin_catch; 160 __cxa_begin_cleanup; 161 __cxa_call_unexpected; 162 __cxa_current_exception_type; 163 __cxa_deleted_virtual; 164 __cxa_demangle; 165 __cxa_end_catch; 166 __cxa_end_cleanup; 167 __cxa_free_exception; 168 __cxa_free_dependent_exception; 169 __cxa_get_exception_ptr; 170 __cxa_get_globals; 171 __cxa_get_globals_fast; 172 __cxa_guard_abort; 173 __cxa_guard_acquire; 174 __cxa_guard_release; 175 __cxa_pure_virtual; 176 __cxa_rethrow; 177 __cxa_throw; 178 __cxa_type_match; 179 __cxa_vec_cctor; 180 __cxa_vec_cleanup; 181 __cxa_vec_ctor; 182 __cxa_vec_delete2; 183 __cxa_vec_delete3; 184 __cxa_vec_delete; 185 __cxa_vec_dtor; 186 __cxa_vec_new2; 187 __cxa_vec_new3; 188 __cxa_vec_new; 189 __gxx_personality_v0; 190 __gxx_personality_sj0; 191 __dynamic_cast; 192 193 # std::exception_ptr 194 _ZNSt15__exception_ptr13exception_ptrC1Ev; 195 _ZNSt15__exception_ptr13exception_ptrC2Ev; 196 _ZNSt15__exception_ptr13exception_ptrC1ERKS0_; 197 _ZNSt15__exception_ptr13exception_ptrC2ERKS0_; 198 _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE; 199 _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE; 200 _ZNSt15__exception_ptr13exception_ptrD1Ev; 201 _ZNSt15__exception_ptr13exception_ptrD2Ev; 202 _ZNSt15__exception_ptr13exception_ptraSERKS0_; 203 _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv; 204 _ZNKSt15__exception_ptr13exception_ptrntEv; 205 _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv; 206 _ZNSt15__exception_ptr13exception_ptr4swapERS0_; 207 _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_; 208 _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_; 209 210 _ZSt17current_exceptionv; 211 _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; 212 213 # std::nested_exception 214 _ZNSt16nested_exceptionD*; 215 _ZTISt16nested_exception; 216 _ZTVSt16nested_exception; 217 218 # std::bad_function_call. 219 _ZNSt17bad_function_callD*; 220 _ZTISt17bad_function_call; 221 _ZTSSt17bad_function_call; 222 _ZTVSt17bad_function_call; 223 224 # Default function. 225 _ZSt11_Hash_bytesPKv*; 226 227 # FNV hash. 228 _ZSt15_Fnv_hash_bytesPKv*; 229 230 # __gnu_cxx::_verbose_terminate_handler() 231 _ZN9__gnu_cxx3__727__verbose_terminate_handlerEv; 232 233 # *_type_info classes, ctor and dtor 234 _ZN10__cxxabiv117__array_type_info*; 235 _ZN10__cxxabiv117__class_type_info*; 236 _ZN10__cxxabiv116__enum_type_info*; 237 _ZN10__cxxabiv120__function_type_info*; 238 _ZN10__cxxabiv123__fundamental_type_info*; 239 _ZN10__cxxabiv117__pbase_type_info*; 240 _ZN10__cxxabiv129__pointer_to_member_type_info*; 241 _ZN10__cxxabiv119__pointer_type_info*; 242 _ZN10__cxxabiv120__si_class_type_info*; 243 _ZN10__cxxabiv121__vmi_class_type_info*; 244 245 # *_type_info classes, member functions 246 _ZNK10__cxxabiv117__class_type_info*; 247 _ZNK10__cxxabiv120__function_type_info*; 248 _ZNK10__cxxabiv117__pbase_type_info*; 249 _ZNK10__cxxabiv129__pointer_to_member_type_info*; 250 _ZNK10__cxxabiv119__pointer_type_info*; 251 _ZNK10__cxxabiv120__si_class_type_info*; 252 _ZNK10__cxxabiv121__vmi_class_type_info*; 253 254 # typeinfo structure 255 _ZTI[a-z]; 256 _ZTIP[a-z]; 257 _ZTIPK[a-z]; 258 _ZTIN10__cxxabiv117__array_type_infoE; 259 _ZTIN10__cxxabiv117__class_type_infoE; 260 _ZTIN10__cxxabiv116__enum_type_infoE; 261 _ZTIN10__cxxabiv120__function_type_infoE; 262 _ZTIN10__cxxabiv123__fundamental_type_infoE; 263 _ZTIN10__cxxabiv117__pbase_type_infoE; 264 _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; 265 _ZTIN10__cxxabiv119__pointer_type_infoE; 266 _ZTIN10__cxxabiv120__si_class_type_infoE; 267 _ZTIN10__cxxabiv121__vmi_class_type_infoE; 268 _ZTIN10__cxxabiv115__forced_unwindE; 269 _ZTIN10__cxxabiv119__foreign_exceptionE; 270 _ZTIN10__cxxabiv115__forced_unwindE; 271 _ZTIN10__cxxabiv119__foreign_exceptionE; 272 273 # typeinfo name 274 _ZTS[a-z]; 275 _ZTSP[a-z]; 276 _ZTSPK[a-z]; 277 _ZTSN10__cxxabiv117__array_type_infoE; 278 _ZTSN10__cxxabiv117__class_type_infoE; 279 _ZTSN10__cxxabiv116__enum_type_infoE; 280 _ZTSN10__cxxabiv120__function_type_infoE; 281 _ZTSN10__cxxabiv123__fundamental_type_infoE; 282 _ZTSN10__cxxabiv117__pbase_type_infoE; 283 _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; 284 _ZTSN10__cxxabiv119__pointer_type_infoE; 285 _ZTSN10__cxxabiv120__si_class_type_infoE; 286 _ZTSN10__cxxabiv121__vmi_class_type_infoE; 287 288 # typeinfo for char16_t and char32_t 289 _ZTIDs; 290 _ZTIPDs; 291 _ZTIPKDs; 292 _ZTIDi; 293 _ZTIPDi; 294 _ZTIPKDi; 295 296 # typeinfo for decimal floating point types 297 _ZTID[fde]; 298 _ZTIPD[fde]; 299 _ZTIPKD[fde]; 300 301 # typeinfo for decltype(nullptr) 302 _ZTIDn; 303 _ZTIPDn; 304 _ZTIPKDn; 305 306 # typeinfo for __int128 and unsigned __int128 307 _ZTI[no]; 308 _ZTIP[no]; 309 _ZTIPK[no]; 310 311 # virtual table 312 _ZTVN10__cxxabiv117__array_type_infoE; 313 _ZTVN10__cxxabiv117__class_type_infoE; 314 _ZTVN10__cxxabiv116__enum_type_infoE; 315 _ZTVN10__cxxabiv120__function_type_infoE; 316 _ZTVN10__cxxabiv123__fundamental_type_infoE; 317 _ZTVN10__cxxabiv117__pbase_type_infoE; 318 _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; 319 _ZTVN10__cxxabiv119__pointer_type_infoE; 320 _ZTVN10__cxxabiv120__si_class_type_infoE; 321 _ZTVN10__cxxabiv121__vmi_class_type_infoE; 322 323}; 324 325# Symbols in the support library (libsupc++) supporting trans-mem. 326CXXABI_TM_1 { 327 328 global: 329 __cxa_tm_cleanup; 330 331}; 332