1cf56074eSDavid Chisnall## Linker script for GNU versioning (GNU ld 2.13.91+ only.) 2cf56074eSDavid Chisnall## 3cf56074eSDavid Chisnall## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 4cf56074eSDavid Chisnall## Free Software Foundation, Inc. 5cf56074eSDavid Chisnall## 6cf56074eSDavid Chisnall## This file is part of the GNU ISO C++ Library. This library is free 7cf56074eSDavid Chisnall## software; you can redistribute it and/or modify it under the 8cf56074eSDavid Chisnall## terms of the GNU General Public License as published by the 9cf56074eSDavid Chisnall## Free Software Foundation; either version 2, or (at your option) 10cf56074eSDavid Chisnall## any later version. 11cf56074eSDavid Chisnall## 12cf56074eSDavid Chisnall## This library is distributed in the hope that it will be useful, 13cf56074eSDavid Chisnall## but WITHOUT ANY WARRANTY; without even the implied warranty of 14cf56074eSDavid Chisnall## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15cf56074eSDavid Chisnall## GNU General Public License for more details. 16cf56074eSDavid Chisnall## 17cf56074eSDavid Chisnall## You should have received a copy of the GNU General Public License along 18cf56074eSDavid Chisnall## with this library; see the file COPYING. If not, write to the Free 19cf56074eSDavid Chisnall## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 20cf56074eSDavid Chisnall## USA. 21cf56074eSDavid Chisnall 22cf56074eSDavid Chisnall## $FreeBSD$ 23cf56074eSDavid Chisnall 24cf56074eSDavid Chisnall 25cf56074eSDavid Chisnall# Symbols in the support library (libsupc++) have their own tag. 26cf56074eSDavid ChisnallCXXABI_1.3 { 27cf56074eSDavid Chisnall 28cf56074eSDavid Chisnall global: 29cf56074eSDavid Chisnall __cxa_allocate_exception; 30cf56074eSDavid Chisnall __cxa_bad_cast; 31cf56074eSDavid Chisnall __cxa_bad_typeid; 32cf56074eSDavid Chisnall __cxa_begin_catch; 33cf56074eSDavid Chisnall __cxa_begin_cleanup; 34cf56074eSDavid Chisnall __cxa_call_unexpected; 35cf56074eSDavid Chisnall __cxa_current_exception_type; 36cf56074eSDavid Chisnall __cxa_demangle; 37cf56074eSDavid Chisnall __cxa_end_catch; 38cf56074eSDavid Chisnall __cxa_end_cleanup; 39cf56074eSDavid Chisnall __cxa_free_exception; 40cf56074eSDavid Chisnall __cxa_get_globals; 41cf56074eSDavid Chisnall __cxa_get_globals_fast; 42cf56074eSDavid Chisnall __cxa_guard_abort; 43cf56074eSDavid Chisnall __cxa_guard_acquire; 44cf56074eSDavid Chisnall __cxa_guard_release; 45cf56074eSDavid Chisnall __cxa_pure_virtual; 46cf56074eSDavid Chisnall __cxa_rethrow; 47cf56074eSDavid Chisnall __cxa_throw; 48cf56074eSDavid Chisnall __cxa_type_match; 49cf56074eSDavid Chisnall __cxa_vec_cctor; 50cf56074eSDavid Chisnall __cxa_vec_cleanup; 51cf56074eSDavid Chisnall __cxa_vec_ctor; 52cf56074eSDavid Chisnall __cxa_vec_delete2; 53cf56074eSDavid Chisnall __cxa_vec_delete3; 54cf56074eSDavid Chisnall __cxa_vec_delete; 55cf56074eSDavid Chisnall __cxa_vec_dtor; 56cf56074eSDavid Chisnall __cxa_vec_new2; 57cf56074eSDavid Chisnall __cxa_vec_new3; 58cf56074eSDavid Chisnall __cxa_vec_new; 59cf56074eSDavid Chisnall __gxx_personality_v0; 60cf56074eSDavid Chisnall __gxx_personality_sj0; 61cf56074eSDavid Chisnall __dynamic_cast; 62cf56074eSDavid Chisnall 63cf56074eSDavid Chisnall # *_type_info classes, ctor and dtor 64cf56074eSDavid Chisnall _ZN10__cxxabiv117__array_type_info*; 65cf56074eSDavid Chisnall _ZN10__cxxabiv117__class_type_info*; 66cf56074eSDavid Chisnall _ZN10__cxxabiv116__enum_type_info*; 67cf56074eSDavid Chisnall _ZN10__cxxabiv120__function_type_info*; 68cf56074eSDavid Chisnall _ZN10__cxxabiv123__fundamental_type_info*; 69cf56074eSDavid Chisnall _ZN10__cxxabiv117__pbase_type_info*; 70cf56074eSDavid Chisnall _ZN10__cxxabiv129__pointer_to_member_type_info*; 71cf56074eSDavid Chisnall _ZN10__cxxabiv119__pointer_type_info*; 72cf56074eSDavid Chisnall _ZN10__cxxabiv120__si_class_type_info*; 73cf56074eSDavid Chisnall _ZN10__cxxabiv121__vmi_class_type_info*; 74cf56074eSDavid Chisnall 75cf56074eSDavid Chisnall # *_type_info classes, member functions 76cf56074eSDavid Chisnall _ZNK10__cxxabiv117__class_type_info*; 77cf56074eSDavid Chisnall _ZNK10__cxxabiv120__function_type_info*; 78cf56074eSDavid Chisnall _ZNK10__cxxabiv117__pbase_type_info*; 79cf56074eSDavid Chisnall _ZNK10__cxxabiv129__pointer_to_member_type_info*; 80cf56074eSDavid Chisnall _ZNK10__cxxabiv119__pointer_type_info*; 81cf56074eSDavid Chisnall _ZNK10__cxxabiv120__si_class_type_info*; 82cf56074eSDavid Chisnall _ZNK10__cxxabiv121__vmi_class_type_info*; 83cf56074eSDavid Chisnall 84cf56074eSDavid Chisnall # virtual table 85cf56074eSDavid Chisnall _ZTVN10__cxxabiv117__array_type_infoE; 86cf56074eSDavid Chisnall _ZTVN10__cxxabiv117__class_type_infoE; 87cf56074eSDavid Chisnall _ZTVN10__cxxabiv116__enum_type_infoE; 88cf56074eSDavid Chisnall _ZTVN10__cxxabiv120__function_type_infoE; 89cf56074eSDavid Chisnall _ZTVN10__cxxabiv123__fundamental_type_infoE; 90cf56074eSDavid Chisnall _ZTVN10__cxxabiv117__pbase_type_infoE; 91cf56074eSDavid Chisnall _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; 92cf56074eSDavid Chisnall _ZTVN10__cxxabiv119__pointer_type_infoE; 93cf56074eSDavid Chisnall _ZTVN10__cxxabiv120__si_class_type_infoE; 94cf56074eSDavid Chisnall _ZTVN10__cxxabiv121__vmi_class_type_infoE; 95cf56074eSDavid Chisnall 96cf56074eSDavid Chisnall # typeinfo structure (and some names) 97cf56074eSDavid Chisnall _ZTI[a-fh-z]; 98cf56074eSDavid Chisnall _ZTIP[a-fh-z]; 99cf56074eSDavid Chisnall _ZTIPK[a-fh-z]; 100cf56074eSDavid Chisnall _ZTIN10__cxxabiv117__array_type_infoE; 101cf56074eSDavid Chisnall _ZTIN10__cxxabiv117__class_type_infoE; 102cf56074eSDavid Chisnall _ZTIN10__cxxabiv116__enum_type_infoE; 103cf56074eSDavid Chisnall _ZTIN10__cxxabiv120__function_type_infoE; 104cf56074eSDavid Chisnall _ZTIN10__cxxabiv123__fundamental_type_infoE; 105cf56074eSDavid Chisnall _ZTIN10__cxxabiv117__pbase_type_infoE; 106cf56074eSDavid Chisnall _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; 107cf56074eSDavid Chisnall _ZTIN10__cxxabiv119__pointer_type_infoE; 108cf56074eSDavid Chisnall _ZTIN10__cxxabiv120__si_class_type_infoE; 109cf56074eSDavid Chisnall _ZTIN10__cxxabiv121__vmi_class_type_infoE; 110cf56074eSDavid Chisnall 111cf56074eSDavid Chisnall # typeinfo name 112cf56074eSDavid Chisnall _ZTS[a-fh-z]; 113cf56074eSDavid Chisnall _ZTSP[a-fh-z]; 114cf56074eSDavid Chisnall _ZTSPK[a-fh-z]; 115cf56074eSDavid Chisnall _ZTSN10__cxxabiv117__array_type_infoE; 116cf56074eSDavid Chisnall _ZTSN10__cxxabiv117__class_type_infoE; 117cf56074eSDavid Chisnall _ZTSN10__cxxabiv116__enum_type_infoE; 118cf56074eSDavid Chisnall _ZTSN10__cxxabiv120__function_type_infoE; 119cf56074eSDavid Chisnall _ZTSN10__cxxabiv123__fundamental_type_infoE; 120cf56074eSDavid Chisnall _ZTSN10__cxxabiv117__pbase_type_infoE; 121cf56074eSDavid Chisnall _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; 122cf56074eSDavid Chisnall _ZTSN10__cxxabiv119__pointer_type_infoE; 123cf56074eSDavid Chisnall _ZTSN10__cxxabiv120__si_class_type_infoE; 124cf56074eSDavid Chisnall _ZTSN10__cxxabiv121__vmi_class_type_infoE; 125cf56074eSDavid Chisnall 126cf56074eSDavid Chisnall # __gnu_cxx::_verbose_terminate_handler() 127cf56074eSDavid Chisnall _ZN9__gnu_cxx27__verbose_terminate_handlerEv; 128cf56074eSDavid Chisnall 129fe132392SDavid Chisnall local: 130fe132392SDavid Chisnall *; 131fe132392SDavid Chisnall}; 13287b8d8bbSDag-Erling Smørgrav 133fe132392SDavid ChisnallGLIBCXX_3.4 { 134fe132392SDavid Chisnall # operator new and new[] 135*31121936SPedro F. Giffuni _Zna[jm]; 136fe132392SDavid Chisnall _Zna[jm]RKSt9nothrow_t; 137fe132392SDavid Chisnall _Znw[jm]; 138fe132392SDavid Chisnall _Znw[jm]RKSt9nothrow_t; 13987b8d8bbSDag-Erling Smørgrav 14087b8d8bbSDag-Erling Smørgrav # operator delete and delete[] 141523f54ddSDavid Chisnall _ZdaPv; 142523f54ddSDavid Chisnall _ZdaPvRKSt9nothrow_t; 143523f54ddSDavid Chisnall _ZdlPv; 144523f54ddSDavid Chisnall _ZdlPvRKSt9nothrow_t; 1454792733bSDavid Chisnall extern "C++" { 1464792733bSDavid Chisnall std::set_new_handler*; 1474792733bSDavid Chisnall std::set_terminate*; 1484792733bSDavid Chisnall std::set_unexpected*; 1494792733bSDavid Chisnall 150cc9bdc92SDavid Chisnall "std::unexpected()"; 151cc9bdc92SDavid Chisnall "std::get_terminate()"; 152cc9bdc92SDavid Chisnall "std::get_unexpected()"; 153cc9bdc92SDavid Chisnall "std::uncaught_exception()"; 154cc9bdc92SDavid Chisnall "std::terminate()"; 155cc9bdc92SDavid Chisnall 156cc9bdc92SDavid Chisnall 1574792733bSDavid Chisnall std::bad_alloc; 1584792733bSDavid Chisnall std::bad_cast; 1594792733bSDavid Chisnall std::exception*; 1604792733bSDavid Chisnall 1614792733bSDavid Chisnall "typeinfo for std::bad_alloc"; 1624792733bSDavid Chisnall "typeinfo for std::bad_cast"; 1634792733bSDavid Chisnall "typeinfo for std::exception"; 164cc9bdc92SDavid Chisnall "typeinfo for std::type_info"; 1654792733bSDavid Chisnall 1664792733bSDavid Chisnall "typeinfo name for std::bad_alloc"; 1674792733bSDavid Chisnall "typeinfo name for std::bad_cast"; 1684792733bSDavid Chisnall "typeinfo name for std::exception"; 169cc9bdc92SDavid Chisnall "typeinfo name for std::type_info"; 1704792733bSDavid Chisnall 1714792733bSDavid Chisnall "vtable for std::bad_alloc"; 1724792733bSDavid Chisnall "vtable for std::bad_cast"; 1734792733bSDavid Chisnall "vtable for std::exception"; 174cc9bdc92SDavid Chisnall "vtable for std::type_info"; 175cc9bdc92SDavid Chisnall 176cc9bdc92SDavid Chisnall std::type_info::__*; 177cc9bdc92SDavid Chisnall "std::type_info::~type_info()"; 178cf56074eSDavid Chisnall }; 1794792733bSDavid Chisnall}; 1804792733bSDavid Chisnall 1814792733bSDavid ChisnallGLIBCXX_3.4.9 { 1824792733bSDavid Chisnall extern "C++" { 1834792733bSDavid Chisnall "std::bad_alloc::what() const"; 1844792733bSDavid Chisnall "std::bad_cast::what() const"; 1854792733bSDavid Chisnall "std::bad_typeid::what() const"; 1864792733bSDavid Chisnall }; 1874792733bSDavid Chisnall} GLIBCXX_3.4; 188cf56074eSDavid Chisnall 189cf56074eSDavid ChisnallCXXABI_1.3.1 { 190cf56074eSDavid Chisnall 191cf56074eSDavid Chisnall __cxa_get_exception_ptr; 192cf56074eSDavid Chisnall 193cf56074eSDavid Chisnall} CXXABI_1.3; 194