## Linker script for GNU versioning (GNU ld 2.13.91+ only.) ## ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 ## Free Software Foundation, Inc. ## ## This file is part of the GNU ISO C++ Library. This library is free ## software; you can redistribute it and/or modify it under the ## terms of the GNU General Public License as published by the ## Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This library is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License along ## with this library; see the file COPYING. If not, write to the Free ## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ## USA. ## $FreeBSD$ # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.3 { global: __cxa_allocate_exception; __cxa_bad_cast; __cxa_bad_typeid; __cxa_begin_catch; __cxa_begin_cleanup; __cxa_call_unexpected; __cxa_current_exception_type; __cxa_demangle; __cxa_end_catch; __cxa_end_cleanup; __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_type_match; __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-fh-z]; _ZTIP[a-fh-z]; _ZTIPK[a-fh-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-fh-z]; _ZTSP[a-fh-z]; _ZTSPK[a-fh-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: *; }; GLIBCXX_3.4 { # operator new and new[] _Znai[jm]; _Zna[jm]RKSt9nothrow_t; _Znw[jm]; _Znw[jm]RKSt9nothrow_t; # operator delete and delete[] _ZdaPv; _ZdaPvRKSt9nothrow_t; _ZdlPv; _ZdlPvRKSt9nothrow_t; extern "C++" { std::set_new_handler*; std::set_terminate*; std::set_unexpected*; "std::unexpected()"; "std::get_terminate()"; "std::get_unexpected()"; "std::uncaught_exception()"; "std::terminate()"; std::bad_alloc; std::bad_cast; std::exception*; "typeinfo for std::bad_alloc"; "typeinfo for std::bad_cast"; "typeinfo for std::exception"; "typeinfo for std::type_info"; "typeinfo name for std::bad_alloc"; "typeinfo name for std::bad_cast"; "typeinfo name for std::exception"; "typeinfo name for std::type_info"; "vtable for std::bad_alloc"; "vtable for std::bad_cast"; "vtable for std::exception"; "vtable for std::type_info"; std::type_info::__*; "std::type_info::~type_info()"; }; }; GLIBCXX_3.4.9 { extern "C++" { "std::bad_alloc::what() const"; "std::bad_cast::what() const"; "std::bad_typeid::what() const"; }; } GLIBCXX_3.4; CXXABI_1.3.1 { __cxa_get_exception_ptr; } CXXABI_1.3;