xref: /freebsd-12.1/gnu/lib/libsupc++/Version.map (revision 31121936)
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