1233174Stheraven# $FreeBSD: stable/10/lib/libcxxrt/Version.map 315965 2017-03-25 21:46:02Z dim $
2233174Stheraven# Define the same version as the libsupc++ from gcc 4.2.1 so that we can use
3233174Stheraven# libcxxrt as a drop-in replacement.
4233174Stheraven
5233174StheravenCXXABI_1.3 {
6233174Stheraven
7233174Stheraven  global:
8233174Stheraven
9233174Stheraven    # ABI functions with C linkage
10233174Stheraven    __cxa_allocate_exception;
11233174Stheraven    __cxa_bad_cast;
12233174Stheraven    __cxa_bad_typeid;
13233174Stheraven    __cxa_begin_catch;
14233174Stheraven    __cxa_begin_cleanup;
15233174Stheraven    __cxa_call_unexpected;
16233174Stheraven    __cxa_current_exception_type;
17233174Stheraven    __cxa_demangle;
18233174Stheraven    __cxa_end_catch;
19233174Stheraven    __cxa_end_cleanup;
20233174Stheraven    __cxa_free_exception;
21233174Stheraven    __cxa_get_globals;
22233174Stheraven    __cxa_get_globals_fast;
23233174Stheraven    __cxa_guard_abort;
24233174Stheraven    __cxa_guard_acquire;
25233174Stheraven    __cxa_guard_release;
26233174Stheraven    __cxa_pure_virtual;
27233174Stheraven    __cxa_rethrow;
28233174Stheraven    __cxa_throw;
29278724Sdim    __cxa_throw_bad_array_new_length;
30233174Stheraven    __cxa_type_match;
31233174Stheraven    __cxa_vec_cctor;
32233174Stheraven    __cxa_vec_cleanup;
33233174Stheraven    __cxa_vec_ctor;
34233174Stheraven    __cxa_vec_delete2;
35233174Stheraven    __cxa_vec_delete3;
36233174Stheraven    __cxa_vec_delete;
37233174Stheraven    __cxa_vec_dtor;
38233174Stheraven    __cxa_vec_new2;
39233174Stheraven    __cxa_vec_new3;
40233174Stheraven    __cxa_vec_new;
41233174Stheraven    __dynamic_cast;
42233174Stheraven    __gxx_personality_sj0;
43233174Stheraven    __gxx_personality_v0;
44233174Stheraven
45233174Stheraven    extern "C++" {
46233174Stheraven        # Type info classes and their destructors
47233174Stheraven        "__cxxabiv1::__array_type_info";
48233174Stheraven        "__cxxabiv1::__array_type_info::~__array_type_info()";
49233174Stheraven        "__cxxabiv1::__class_type_info";
50233174Stheraven        "__cxxabiv1::__class_type_info::~__class_type_info()";
51233174Stheraven        "__cxxabiv1::__enum_type_info";
52233174Stheraven        "__cxxabiv1::__enum_type_info::~__enum_type_info()";
53233174Stheraven        "__cxxabiv1::__function_type_info::";
54233174Stheraven        "__cxxabiv1::__function_type_info::~__function_type_info()";
55233174Stheraven        "__cxxabiv1::__fundamental_type_info";
56233174Stheraven        "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()";
57233174Stheraven        "__cxxabiv1::__pbase_type_info";
58233174Stheraven        "__cxxabiv1::__pbase_type_info::~__pbase_type_info()";
59233174Stheraven        "__cxxabiv1::__pointer_to_member_type_info";
60233174Stheraven        "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()";
61233174Stheraven        "__cxxabiv1::__pointer_type_info";
62233174Stheraven        "__cxxabiv1::__pointer_type_info::~__pointer_type_info()";
63233174Stheraven        "__cxxabiv1::__si_class_type_info";
64233174Stheraven        "__cxxabiv1::__si_class_type_info::~__si_class_type_info()";
65233174Stheraven        "__cxxabiv1::__vmi_class_type_info";
66233174Stheraven        "__cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()";
67233174Stheraven
68233174Stheraven        # vtables typeinfo classes.
69233174Stheraven        "vtable for __cxxabiv1::__array_type_info";
70233174Stheraven        "vtable for __cxxabiv1::__class_type_info";
71233174Stheraven        "vtable for __cxxabiv1::__enum_type_info";
72233174Stheraven        "vtable for __cxxabiv1::__function_type_info";
73233174Stheraven        "vtable for __cxxabiv1::__fundamental_type_info";
74233174Stheraven        "vtable for __cxxabiv1::__pbase_type_info";
75233174Stheraven        "vtable for __cxxabiv1::__pointer_to_member_type_info";
76233174Stheraven        "vtable for __cxxabiv1::__pointer_type_info";
77233174Stheraven        "vtable for __cxxabiv1::__si_class_type_info";
78233174Stheraven        "vtable for __cxxabiv1::__vmi_class_type_info";
79233174Stheraven
80233174Stheraven        # Type info for built-in types
81233174Stheraven        "typeinfo for bool const*";
82233174Stheraven        "typeinfo for bool";
83233174Stheraven        "typeinfo for char const*";
84233174Stheraven        "typeinfo for char";
85233174Stheraven        "typeinfo for double const*";
86233174Stheraven        "typeinfo for double";
87233174Stheraven        "typeinfo for float const*";
88233174Stheraven        "typeinfo for float";
89233174Stheraven        "typeinfo for int const*";
90233174Stheraven        "typeinfo for int";
91233174Stheraven        "typeinfo for long const*";
92233174Stheraven        "typeinfo for long double const*";
93233174Stheraven        "typeinfo for long double";
94233174Stheraven        "typeinfo for long long const*";
95233174Stheraven        "typeinfo for long long";
96233174Stheraven        "typeinfo for long";
97233174Stheraven        "typeinfo for short const*";
98233174Stheraven        "typeinfo for short";
99233174Stheraven        "typeinfo for signed char const*";
100233174Stheraven        "typeinfo for signed char";
101233174Stheraven        "typeinfo for unsigned char const*";
102233174Stheraven        "typeinfo for unsigned char";
103233174Stheraven        "typeinfo for unsigned int const*";
104233174Stheraven        "typeinfo for unsigned int";
105233174Stheraven        "typeinfo for unsigned long const*";
106233174Stheraven        "typeinfo for unsigned long long const*";
107233174Stheraven        "typeinfo for unsigned long long";
108233174Stheraven        "typeinfo for unsigned long";
109233174Stheraven        "typeinfo for unsigned short const*";
110233174Stheraven        "typeinfo for unsigned short";
111233174Stheraven        "typeinfo for void const*";
112233174Stheraven        "typeinfo for void";
113233174Stheraven        "typeinfo for wchar_t const*";
114233174Stheraven        "typeinfo for wchar_t";
115261644Sdim        # C++11 typeinfo not understood by our linker
116261644Sdim        # std::nullptr_t
117261644Sdim        _ZTIDn;_ZTIPDn;_ZTIPKDn;
118261644Sdim        # char16_t
119261644Sdim        _ZTIDi;_ZTIPDi;_ZTIPKDi;
120261644Sdim        # char32_t
121261644Sdim        _ZTIDs;_ZTIPDs;_ZTIPKDs;
122261644Sdim        # IEEE 754r decimal floating point
123261644Sdim        _ZTIDd;_ZTIPDd;_ZTIPKDd;
124261644Sdim        _ZTIDe;_ZTIPDe;_ZTIPKDe;
125261644Sdim        _ZTIDf;_ZTIPDf;_ZTIPKDf;
126261644Sdim        # IEEE 754r half-precision floating point
127261644Sdim        _ZTIDh;_ZTIPDh;_ZTIPKDh;
128233174Stheraven
129233174Stheraven        "typeinfo for bool*";
130233174Stheraven        "typeinfo for wchar_t*";
131233174Stheraven        "typeinfo for short*";
132233174Stheraven        "typeinfo for char*";
133233174Stheraven        "typeinfo for unsigned char*";
134233174Stheraven        "typeinfo for long long*";
135233174Stheraven        "typeinfo for unsigned short*";
136233174Stheraven        "typeinfo for long*";
137233174Stheraven        "typeinfo for double*";
138233174Stheraven        "typeinfo for unsigned long*";
139233174Stheraven        "typeinfo for unsigned long long*";
140233174Stheraven        "typeinfo for int*";
141233174Stheraven        "typeinfo for long double*";
142233174Stheraven        "typeinfo for signed char*";
143233174Stheraven        "typeinfo for void*";
144233174Stheraven        "typeinfo for unsigned int*";
145233174Stheraven        "typeinfo for float*";
146233174Stheraven
147233174Stheraven        "typeinfo for __cxxabiv1::__array_type_info";
148233174Stheraven        "typeinfo for __cxxabiv1::__class_type_info";
149233174Stheraven        "typeinfo for __cxxabiv1::__enum_type_info";
150233174Stheraven        "typeinfo for __cxxabiv1::__function_type_info";
151233174Stheraven        "typeinfo for __cxxabiv1::__fundamental_type_info";
152233174Stheraven        "typeinfo for __cxxabiv1::__pbase_type_info";
153233174Stheraven        "typeinfo for __cxxabiv1::__pointer_to_member_type_info";
154233174Stheraven        "typeinfo for __cxxabiv1::__pointer_type_info";
155233174Stheraven        "typeinfo for __cxxabiv1::__si_class_type_info";
156233174Stheraven        "typeinfo for __cxxabiv1::__vmi_class_type_info";
157233174Stheraven
158233174Stheraven        # Typeinfo names.
159233174Stheraven
160233174Stheraven        "typeinfo name for unsigned char const*";
161233174Stheraven        "typeinfo name for long const*";
162233174Stheraven        "typeinfo name for double const*";
163233174Stheraven        "typeinfo name for unsigned long long const*";
164233174Stheraven        "typeinfo name for unsigned short const*";
165233174Stheraven        "typeinfo name for char const*";
166233174Stheraven        "typeinfo name for long long const*";
167233174Stheraven        "typeinfo name for short const*";
168233174Stheraven        "typeinfo name for unsigned int const*";
169233174Stheraven        "typeinfo name for float const*";
170233174Stheraven        "typeinfo name for bool const*";
171233174Stheraven        "typeinfo name for wchar_t const*";
172233174Stheraven        "typeinfo name for int const*";
173233174Stheraven        "typeinfo name for unsigned long const*";
174233174Stheraven        "typeinfo name for void const*";
175233174Stheraven        "typeinfo name for long double const*";
176233174Stheraven        "typeinfo name for signed char const*";
177233174Stheraven        "typeinfo name for wchar_t";
178233174Stheraven        "typeinfo name for short";
179233174Stheraven        "typeinfo name for char";
180233174Stheraven        "typeinfo name for float";
181233174Stheraven        "typeinfo name for void";
182233174Stheraven        "typeinfo name for unsigned int";
183233174Stheraven        "typeinfo name for bool";
184233174Stheraven        "typeinfo name for signed char";
185233174Stheraven        "typeinfo name for long double";
186233174Stheraven        "typeinfo name for int";
187233174Stheraven        "typeinfo name for unsigned long long";
188233174Stheraven        "typeinfo name for unsigned long";
189233174Stheraven        "typeinfo name for unsigned char";
190233174Stheraven        "typeinfo name for long";
191233174Stheraven        "typeinfo name for long long";
192233174Stheraven        "typeinfo name for unsigned short";
193233174Stheraven        "typeinfo name for double";
194233174Stheraven
195233174Stheraven        "typeinfo name for bool*";
196233174Stheraven        "typeinfo name for wchar_t*";
197233174Stheraven        "typeinfo name for short*";
198233174Stheraven        "typeinfo name for char*";
199233174Stheraven        "typeinfo name for unsigned char*";
200233174Stheraven        "typeinfo name for long long*";
201233174Stheraven        "typeinfo name for unsigned short*";
202233174Stheraven        "typeinfo name for long*";
203233174Stheraven        "typeinfo name for double*";
204233174Stheraven        "typeinfo name for unsigned long*";
205233174Stheraven        "typeinfo name for unsigned long long*";
206233174Stheraven        "typeinfo name for int*";
207233174Stheraven        "typeinfo name for long double*";
208233174Stheraven        "typeinfo name for signed char*";
209233174Stheraven        "typeinfo name for void*";
210233174Stheraven        "typeinfo name for unsigned int*";
211233174Stheraven        "typeinfo name for float*";
212303293Semaste        # C++11 typeinfo name not understood by our linker
213261644Sdim        # std::nullptr_t
214303293Semaste        _ZTSDn;_ZTSPDn;_ZTSPKDn;
215261644Sdim        # char16_t
216303293Semaste        _ZTSDi;_ZTSPDi;_ZTSPKDi;
217261644Sdim        # char32_t
218303293Semaste        _ZTSDs;_ZTSPDs;_ZTSPKDs;
219261644Sdim        # IEEE 754r decimal floating point
220303293Semaste        _ZTSDd;_ZTSPDd;_ZTSPKDd;
221303293Semaste        _ZTSDe;_ZTSPDe;_ZTSPKDe;
222303293Semaste        _ZTSDf;_ZTSPDf;_ZTSPKDf;
223261644Sdim        # IEEE 754r half-precision floating point
224303293Semaste        _ZTSDh;_ZTSPDh;_ZTSPKDh;
225233174Stheraven
226233174Stheraven        "typeinfo name for __cxxabiv1::__array_type_info";
227233174Stheraven        "typeinfo name for __cxxabiv1::__class_type_info";
228233174Stheraven        "typeinfo name for __cxxabiv1::__enum_type_info";
229233174Stheraven        "typeinfo name for __cxxabiv1::__function_type_info";
230233174Stheraven        "typeinfo name for __cxxabiv1::__fundamental_type_info";
231233174Stheraven        "typeinfo name for __cxxabiv1::__pbase_type_info";
232233174Stheraven        "typeinfo name for __cxxabiv1::__pointer_to_member_type_info";
233233174Stheraven        "typeinfo name for __cxxabiv1::__pointer_type_info";
234233174Stheraven        "typeinfo name for __cxxabiv1::__si_class_type_info";
235233174Stheraven        "typeinfo name for __cxxabiv1::__vmi_class_type_info";
236233174Stheraven
237233174Stheraven        "std::type_info::type_info(std::type_info const&)";
238233174Stheraven        "std::type_info::operator=(std::type_info const&)";
239233174Stheraven
240233174Stheraven
241233174Stheraven        # Extensions
242233174Stheraven        "pathscale::set_terminate(void (*)())";
243233174Stheraven        "pathscale::set_unexpected(void (*)())";
244233174Stheraven        "pathscale::set_use_thread_local_handlers(bool)";
245233174Stheraven
246233174Stheraven
247233174Stheraven    };
248233174Stheraven
249233174Stheraven  local:
250233174Stheraven    *;
251233174Stheraven};
252233174Stheraven
253233174StheravenCXXABI_1.3.1 {
254233174Stheraven    __cxa_get_exception_ptr;
255233174Stheraven} CXXABI_1.3;
256233174Stheraven
257314898SdimCXXABI_1.3.5 {
258314898Sdim    extern "C++" {
259314898Sdim        "typeinfo for __int128 const*";
260314898Sdim        "typeinfo for __int128";
261314898Sdim        "typeinfo for __int128*";
262314898Sdim        "typeinfo for unsigned __int128 const*";
263314898Sdim        "typeinfo for unsigned __int128";
264314898Sdim        "typeinfo for unsigned __int128*";
265314898Sdim    };
266314898Sdim} CXXABI_1.3.1;
267314898Sdim
268285109SdimCXXABI_1.3.6 {
269285109Sdim    __cxa_deleted_virtual;
270314898Sdim} CXXABI_1.3.5;
271233174Stheraven
272314898SdimCXXABI_1.3.9 {
273314898Sdim    extern "C++" {
274314898Sdim        "typeinfo name for __int128 const*";
275314898Sdim        "typeinfo name for __int128";
276314898Sdim        "typeinfo name for __int128*";
277314898Sdim        "typeinfo name for unsigned __int128 const*";
278314898Sdim        "typeinfo name for unsigned __int128";
279314898Sdim        "typeinfo name for unsigned __int128*";
280314898Sdim    };
281314898Sdim} CXXABI_1.3.6;
282285109Sdim
283233174StheravenCXXRT_1.0 {
284233174Stheraven
285233174Stheraven    extern "C++" {
286233174Stheraven        "std::type_info::name() const";
287233174Stheraven        "std::type_info::before(std::type_info const&) const";
288233174Stheraven        "std::type_info::operator==(std::type_info const&) const";
289233174Stheraven        "std::type_info::operator!=(std::type_info const&) const";
290233174Stheraven        "std::bad_cast::bad_cast(std::bad_cast const&)";
291233174Stheraven        "std::bad_cast::bad_cast()";
292233174Stheraven        "std::bad_cast::operator=(std::bad_cast const&)";
293246297Sdim        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
294246297Sdim        "std::bad_typeid::bad_typeid()";
295246297Sdim        "std::bad_typeid::operator=(std::bad_typeid const&)";
296233174Stheraven        "std::exception::exception(std::exception const&)";
297233174Stheraven        "std::exception::exception()";
298233174Stheraven        "std::exception::operator=(std::exception const&)";
299246297Sdim        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
300246297Sdim        "std::bad_alloc::bad_alloc()";
301246297Sdim        "std::bad_alloc::operator=(std::bad_alloc const&)";
302278724Sdim        "std::bad_array_new_length::bad_array_new_length(std::bad_array_new_length const&)";
303278724Sdim        "std::bad_array_new_length::bad_array_new_length()";
304278724Sdim        "std::bad_array_new_length::operator=(std::bad_array_new_length const&)";
305233174Stheraven
306233174Stheraven    };
307233174Stheraven    __cxa_allocate_dependent_exception;
308233174Stheraven    __cxa_current_primary_exception;
309233174Stheraven    __cxa_decrement_exception_refcount;
310233174Stheraven    __cxa_free_dependent_exception;
311233174Stheraven    __cxa_increment_exception_refcount;
312233174Stheraven    __cxa_rethrow_primary_exception;
313233174Stheraven
314285109Sdim} CXXABI_1.3.6;
315236890Stheraven
316246028Stheraven
317236890StheravenGLIBCXX_3.4 {
318236890Stheraven    extern "C++" {
319236890Stheraven        "operator delete[](void*)";
320236890Stheraven        "operator delete(void*)";
321236890Stheraven        "operator new[](unsigned int)";
322236890Stheraven        "operator new(unsigned int)";
323236890Stheraven        "operator new(unsigned int, std::nothrow_t const&)";
324236890Stheraven        "operator new[](unsigned long)";
325236890Stheraven        "operator new(unsigned long)";
326236890Stheraven        "operator new(unsigned long, std::nothrow_t const&)";
327246028Stheraven
328246028Stheraven        "std::unexpected()";
329246028Stheraven        "std::get_terminate()";
330246028Stheraven        "std::get_unexpected()";
331246028Stheraven        "std::uncaught_exception()";
332246028Stheraven        "std::terminate()";
333246028Stheraven
334246028Stheraven        "std::type_info::~type_info()";
335246028Stheraven        "std::bad_cast::~bad_cast()";
336246297Sdim        "std::bad_typeid::~bad_typeid()";
337246028Stheraven        "std::exception::~exception()";
338246297Sdim        "std::bad_alloc::~bad_alloc()";
339278724Sdim        "std::bad_array_new_length::~bad_array_new_length()";
340246028Stheraven
341246297Sdim        "std::exception::what() const";
342246297Sdim
343246028Stheraven        std::set_new_handler*;
344246028Stheraven        std::set_terminate*;
345246028Stheraven        std::set_unexpected*;
346246297Sdim        std::type_info::__*;
347246028Stheraven
348246028Stheraven        "vtable for std::bad_alloc";
349246028Stheraven        "vtable for std::bad_cast";
350246028Stheraven        "vtable for std::bad_typeid";
351246028Stheraven        "vtable for std::exception";
352246028Stheraven        "vtable for std::type_info";
353278724Sdim        "vtable for std::bad_array_new_length";
354246028Stheraven
355246028Stheraven        "typeinfo for std::bad_alloc";
356246028Stheraven        "typeinfo for std::bad_typeid";
357246028Stheraven        "typeinfo for std::bad_cast";
358246028Stheraven        "typeinfo for std::exception";
359246028Stheraven        "typeinfo for std::type_info";
360278724Sdim        "typeinfo for std::bad_array_new_length";
361246297Sdim        "typeinfo name for std::bad_alloc";
362246028Stheraven        "typeinfo name for std::bad_typeid";
363246028Stheraven        "typeinfo name for std::bad_cast";
364246028Stheraven        "typeinfo name for std::exception";
365246028Stheraven        "typeinfo name for std::type_info";
366278724Sdim        "typeinfo name for std::bad_array_new_length";
367246028Stheraven
368236890Stheraven    };
369236890Stheraven};
370246028Stheraven
371246028StheravenGLIBCXX_3.4.9 {
372246028Stheraven    extern "C++" {
373246028Stheraven        "std::bad_typeid::what() const";
374246028Stheraven        "std::bad_cast::what() const";
375246028Stheraven        "std::bad_alloc::what() const";
376278724Sdim        "std::bad_array_new_length::what() const";
377246028Stheraven    };
378246028Stheraven} GLIBCXX_3.4;
379246028Stheraven
380315965SdimGLIBCXX_3.4.22 {
381315965Sdim    extern "C++" {
382315965Sdim        "std::uncaught_exceptions()";
383315965Sdim    };
384315965Sdim} GLIBCXX_3.4.9;
385315965Sdim
386