]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libcxxrt/Version.map
zfs: merge openzfs/zfs@66b81b349
[FreeBSD/FreeBSD.git] / lib / libcxxrt / Version.map
1 # Define the same version as the libsupc++ from gcc 4.2.1 so that we can use
2 # libcxxrt as a drop-in replacement.
3
4 CXXABI_1.3 {
5
6   global:
7
8     # ABI functions with C linkage
9     __cxa_allocate_exception;
10     __cxa_bad_cast;
11     __cxa_bad_typeid;
12     __cxa_begin_catch;
13     __cxa_begin_cleanup;
14     __cxa_call_unexpected;
15     __cxa_current_exception_type;
16     __cxa_demangle;
17     __cxa_end_catch;
18     __cxa_end_cleanup;
19     __cxa_free_exception;
20     __cxa_get_globals;
21     __cxa_get_globals_fast;
22     __cxa_guard_abort;
23     __cxa_guard_acquire;
24     __cxa_guard_release;
25     __cxa_pure_virtual;
26     __cxa_rethrow;
27     __cxa_throw;
28     __cxa_throw_bad_array_new_length;
29     __cxa_type_match;
30     __cxa_vec_cctor;
31     __cxa_vec_cleanup;
32     __cxa_vec_ctor;
33     __cxa_vec_delete2;
34     __cxa_vec_delete3;
35     __cxa_vec_delete;
36     __cxa_vec_dtor;
37     __cxa_vec_new2;
38     __cxa_vec_new3;
39     __cxa_vec_new;
40     __dynamic_cast;
41     __gxx_personality_sj0;
42     __gxx_personality_v0;
43
44     extern "C++" {
45         # Type info classes and their destructors
46         "__cxxabiv1::__array_type_info";
47         "__cxxabiv1::__array_type_info::~__array_type_info()";
48         "__cxxabiv1::__class_type_info";
49         "__cxxabiv1::__class_type_info::~__class_type_info()";
50         "__cxxabiv1::__enum_type_info";
51         "__cxxabiv1::__enum_type_info::~__enum_type_info()";
52         "__cxxabiv1::__function_type_info::";
53         "__cxxabiv1::__function_type_info::~__function_type_info()";
54         "__cxxabiv1::__fundamental_type_info";
55         "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()";
56         "__cxxabiv1::__pbase_type_info";
57         "__cxxabiv1::__pbase_type_info::~__pbase_type_info()";
58         "__cxxabiv1::__pointer_to_member_type_info";
59         "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()";
60         "__cxxabiv1::__pointer_type_info";
61         "__cxxabiv1::__pointer_type_info::~__pointer_type_info()";
62         "__cxxabiv1::__si_class_type_info";
63         "__cxxabiv1::__si_class_type_info::~__si_class_type_info()";
64         "__cxxabiv1::__vmi_class_type_info";
65         "__cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()";
66
67         # vtables typeinfo classes.
68         "vtable for __cxxabiv1::__array_type_info";
69         "vtable for __cxxabiv1::__class_type_info";
70         "vtable for __cxxabiv1::__enum_type_info";
71         "vtable for __cxxabiv1::__function_type_info";
72         "vtable for __cxxabiv1::__fundamental_type_info";
73         "vtable for __cxxabiv1::__pbase_type_info";
74         "vtable for __cxxabiv1::__pointer_to_member_type_info";
75         "vtable for __cxxabiv1::__pointer_type_info";
76         "vtable for __cxxabiv1::__si_class_type_info";
77         "vtable for __cxxabiv1::__vmi_class_type_info";
78
79         # Type info for built-in types
80         "typeinfo for bool const*";
81         "typeinfo for bool";
82         "typeinfo for char const*";
83         "typeinfo for char";
84         "typeinfo for double const*";
85         "typeinfo for double";
86         "typeinfo for float const*";
87         "typeinfo for float";
88         "typeinfo for int const*";
89         "typeinfo for int";
90         "typeinfo for long const*";
91         "typeinfo for long double const*";
92         "typeinfo for long double";
93         "typeinfo for long long const*";
94         "typeinfo for long long";
95         "typeinfo for long";
96         "typeinfo for short const*";
97         "typeinfo for short";
98         "typeinfo for signed char const*";
99         "typeinfo for signed char";
100         "typeinfo for unsigned char const*";
101         "typeinfo for unsigned char";
102         "typeinfo for unsigned int const*";
103         "typeinfo for unsigned int";
104         "typeinfo for unsigned long const*";
105         "typeinfo for unsigned long long const*";
106         "typeinfo for unsigned long long";
107         "typeinfo for unsigned long";
108         "typeinfo for unsigned short const*";
109         "typeinfo for unsigned short";
110         "typeinfo for void const*";
111         "typeinfo for void";
112         "typeinfo for wchar_t const*";
113         "typeinfo for wchar_t";
114
115         "typeinfo for bool*";
116         "typeinfo for wchar_t*";
117         "typeinfo for short*";
118         "typeinfo for char*";
119         "typeinfo for unsigned char*";
120         "typeinfo for long long*";
121         "typeinfo for unsigned short*";
122         "typeinfo for long*";
123         "typeinfo for double*";
124         "typeinfo for unsigned long*";
125         "typeinfo for unsigned long long*";
126         "typeinfo for int*";
127         "typeinfo for long double*";
128         "typeinfo for signed char*";
129         "typeinfo for void*";
130         "typeinfo for unsigned int*";
131         "typeinfo for float*";
132
133         "typeinfo for __cxxabiv1::__array_type_info";
134         "typeinfo for __cxxabiv1::__class_type_info";
135         "typeinfo for __cxxabiv1::__enum_type_info";
136         "typeinfo for __cxxabiv1::__function_type_info";
137         "typeinfo for __cxxabiv1::__fundamental_type_info";
138         "typeinfo for __cxxabiv1::__pbase_type_info";
139         "typeinfo for __cxxabiv1::__pointer_to_member_type_info";
140         "typeinfo for __cxxabiv1::__pointer_type_info";
141         "typeinfo for __cxxabiv1::__si_class_type_info";
142         "typeinfo for __cxxabiv1::__vmi_class_type_info";
143
144         # Typeinfo names.
145
146         "typeinfo name for unsigned char const*";
147         "typeinfo name for long const*";
148         "typeinfo name for double const*";
149         "typeinfo name for unsigned long long const*";
150         "typeinfo name for unsigned short const*";
151         "typeinfo name for char const*";
152         "typeinfo name for long long const*";
153         "typeinfo name for short const*";
154         "typeinfo name for unsigned int const*";
155         "typeinfo name for float const*";
156         "typeinfo name for bool const*";
157         "typeinfo name for wchar_t const*";
158         "typeinfo name for int const*";
159         "typeinfo name for unsigned long const*";
160         "typeinfo name for void const*";
161         "typeinfo name for long double const*";
162         "typeinfo name for signed char const*";
163         "typeinfo name for wchar_t";
164         "typeinfo name for short";
165         "typeinfo name for char";
166         "typeinfo name for float";
167         "typeinfo name for void";
168         "typeinfo name for unsigned int";
169         "typeinfo name for bool";
170         "typeinfo name for signed char";
171         "typeinfo name for long double";
172         "typeinfo name for int";
173         "typeinfo name for unsigned long long";
174         "typeinfo name for unsigned long";
175         "typeinfo name for unsigned char";
176         "typeinfo name for long";
177         "typeinfo name for long long";
178         "typeinfo name for unsigned short";
179         "typeinfo name for double";
180
181         "typeinfo name for bool*";
182         "typeinfo name for wchar_t*";
183         "typeinfo name for short*";
184         "typeinfo name for char*";
185         "typeinfo name for unsigned char*";
186         "typeinfo name for long long*";
187         "typeinfo name for unsigned short*";
188         "typeinfo name for long*";
189         "typeinfo name for double*";
190         "typeinfo name for unsigned long*";
191         "typeinfo name for unsigned long long*";
192         "typeinfo name for int*";
193         "typeinfo name for long double*";
194         "typeinfo name for signed char*";
195         "typeinfo name for void*";
196         "typeinfo name for unsigned int*";
197         "typeinfo name for float*";
198
199         "typeinfo name for __cxxabiv1::__array_type_info";
200         "typeinfo name for __cxxabiv1::__class_type_info";
201         "typeinfo name for __cxxabiv1::__enum_type_info";
202         "typeinfo name for __cxxabiv1::__function_type_info";
203         "typeinfo name for __cxxabiv1::__fundamental_type_info";
204         "typeinfo name for __cxxabiv1::__pbase_type_info";
205         "typeinfo name for __cxxabiv1::__pointer_to_member_type_info";
206         "typeinfo name for __cxxabiv1::__pointer_type_info";
207         "typeinfo name for __cxxabiv1::__si_class_type_info";
208         "typeinfo name for __cxxabiv1::__vmi_class_type_info";
209
210         "std::type_info::type_info(std::type_info const&)";
211         "std::type_info::operator=(std::type_info const&)";
212
213
214         # Extensions
215         "pathscale::set_terminate(void (*)())";
216         "pathscale::set_unexpected(void (*)())";
217         "pathscale::set_use_thread_local_handlers(bool)";
218     };
219
220     # C++11 typeinfo not understood by ld.bfd 2.17.50
221     # std::nullptr_t
222     _ZTIDn;_ZTIPDn;_ZTIPKDn;
223     # char16_t
224     _ZTIDi;_ZTIPDi;_ZTIPKDi;
225     # char32_t
226     _ZTIDs;_ZTIPDs;_ZTIPKDs;
227     # IEEE 754r decimal floating point
228     _ZTIDd;_ZTIPDd;_ZTIPKDd;
229     _ZTIDe;_ZTIPDe;_ZTIPKDe;
230     _ZTIDf;_ZTIPDf;_ZTIPKDf;
231     # IEEE 754r half-precision floating point
232     _ZTIDh;_ZTIPDh;_ZTIPKDh;
233
234     # C++11 typeinfo name not understood by ld.bfd 2.17.50
235     # std::nullptr_t
236     _ZTSDn;_ZTSPDn;_ZTSPKDn;
237     # char16_t
238     _ZTSDi;_ZTSPDi;_ZTSPKDi;
239     # char32_t
240     _ZTSDs;_ZTSPDs;_ZTSPKDs;
241     # IEEE 754r decimal floating point
242     _ZTSDd;_ZTSPDd;_ZTSPKDd;
243     _ZTSDe;_ZTSPDe;_ZTSPKDe;
244     _ZTSDf;_ZTSPDf;_ZTSPKDf;
245     # IEEE 754r half-precision floating point
246     _ZTSDh;_ZTSPDh;_ZTSPKDh;
247
248   local:
249     *;
250 };
251
252 CXXABI_1.3.1 {
253     __cxa_get_exception_ptr;
254 } CXXABI_1.3;
255
256 CXXABI_1.3.5 {
257     extern "C++" {
258         "typeinfo for __int128 const*";
259         "typeinfo for __int128";
260         "typeinfo for __int128*";
261         "typeinfo for unsigned __int128 const*";
262         "typeinfo for unsigned __int128";
263         "typeinfo for unsigned __int128*";
264     };
265 } CXXABI_1.3.1;
266
267 CXXABI_1.3.6 {
268     __cxa_deleted_virtual;
269 } CXXABI_1.3.5;
270
271 CXXABI_1.3.9 {
272     extern "C++" {
273         "typeinfo name for __int128 const*";
274         "typeinfo name for __int128";
275         "typeinfo name for __int128*";
276         "typeinfo name for unsigned __int128 const*";
277         "typeinfo name for unsigned __int128";
278         "typeinfo name for unsigned __int128*";
279         "operator delete[](void*, unsigned int)";
280         "operator delete(void*, unsigned int)";
281         "operator delete[](void*, unsigned long)";
282         "operator delete(void*, unsigned long)";
283     };
284 } CXXABI_1.3.6;
285
286 CXXRT_1.0 {
287
288     extern "C++" {
289         "std::type_info::name() const";
290         "std::type_info::before(std::type_info const&) const";
291         "std::type_info::operator==(std::type_info const&) const";
292         "std::type_info::operator!=(std::type_info const&) const";
293         "std::bad_cast::bad_cast(std::bad_cast const&)";
294         "std::bad_cast::bad_cast()";
295         "std::bad_cast::operator=(std::bad_cast const&)";
296         "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
297         "std::bad_typeid::bad_typeid()";
298         "std::bad_typeid::operator=(std::bad_typeid const&)";
299         "std::exception::exception(std::exception const&)";
300         "std::exception::exception()";
301         "std::exception::operator=(std::exception const&)";
302         "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
303         "std::bad_alloc::bad_alloc()";
304         "std::bad_alloc::operator=(std::bad_alloc const&)";
305         "std::bad_array_new_length::bad_array_new_length(std::bad_array_new_length const&)";
306         "std::bad_array_new_length::bad_array_new_length()";
307         "std::bad_array_new_length::operator=(std::bad_array_new_length const&)";
308
309     };
310     __cxa_allocate_dependent_exception;
311     __cxa_current_primary_exception;
312     __cxa_decrement_exception_refcount;
313     __cxa_free_dependent_exception;
314     __cxa_increment_exception_refcount;
315     __cxa_rethrow_primary_exception;
316
317 } CXXABI_1.3.6;
318
319
320 GLIBCXX_3.4 {
321     extern "C++" {
322         "operator delete[](void*)";
323         "operator delete(void*)";
324         "operator new[](unsigned int)";
325         "operator new(unsigned int)";
326         "operator new(unsigned int, std::nothrow_t const&)";
327         "operator new[](unsigned long)";
328         "operator new(unsigned long)";
329         "operator new(unsigned long, std::nothrow_t const&)";
330
331         "std::unexpected()";
332         "std::get_terminate()";
333         "std::get_unexpected()";
334         "std::uncaught_exception()";
335         "std::terminate()";
336
337         "std::type_info::~type_info()";
338         "std::bad_cast::~bad_cast()";
339         "std::bad_typeid::~bad_typeid()";
340         "std::exception::~exception()";
341         "std::bad_alloc::~bad_alloc()";
342         "std::bad_array_new_length::~bad_array_new_length()";
343
344         "std::exception::what() const";
345
346         std::set_new_handler*;
347         std::set_terminate*;
348         std::set_unexpected*;
349         std::type_info::__*;
350
351         "vtable for std::bad_alloc";
352         "vtable for std::bad_cast";
353         "vtable for std::bad_typeid";
354         "vtable for std::exception";
355         "vtable for std::type_info";
356         "vtable for std::bad_array_new_length";
357
358         "typeinfo for std::bad_alloc";
359         "typeinfo for std::bad_typeid";
360         "typeinfo for std::bad_cast";
361         "typeinfo for std::exception";
362         "typeinfo for std::type_info";
363         "typeinfo for std::bad_array_new_length";
364         "typeinfo name for std::bad_alloc";
365         "typeinfo name for std::bad_typeid";
366         "typeinfo name for std::bad_cast";
367         "typeinfo name for std::exception";
368         "typeinfo name for std::type_info";
369         "typeinfo name for std::bad_array_new_length";
370
371     };
372 };
373
374 GLIBCXX_3.4.9 {
375     extern "C++" {
376         "std::bad_typeid::what() const";
377         "std::bad_cast::what() const";
378         "std::bad_alloc::what() const";
379         "std::bad_array_new_length::what() const";
380     };
381 } GLIBCXX_3.4;
382
383 GLIBCXX_3.4.20 {
384     extern "C++" {
385         "std::get_new_handler()";
386     };
387 } GLIBCXX_3.4.9;
388
389 GLIBCXX_3.4.22 {
390     extern "C++" {
391         "std::uncaught_exceptions()";
392     };
393 } GLIBCXX_3.4.20;
394