xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1## Linker script for GNU namespace versioning.
2##
3## Copyright (C) 2002-2013 Free Software Foundation, Inc.
4##
5## This file is part of the libstdc++ version 3 distribution.
6##
7## This file is part of the GNU ISO C++ Library.  This library is free
8## software; you can redistribute it and/or modify it under the
9## terms of the GNU General Public License as published by the
10## Free Software Foundation; either version 3, or (at your option)
11## any later version.
12##
13## This library is distributed in the hope that it will be useful,
14## but WITHOUT ANY WARRANTY; without even the implied warranty of
15## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16## GNU General Public License for more details.
17##
18## You should have received a copy of the GNU General Public License along
19## with this library; see the file COPYING3.  If not see
20## <http://www.gnu.org/licenses/>.
21
22GLIBCXX_7.0 {
23
24  global:
25
26    # Names inside the 'extern' block are demangled names.
27    extern "C++"
28    {
29      std::*;
30      std::__7::*;
31      std::random_device::*
32    };
33
34    # operator new(size_t)
35    _Znw[jmy];
36    # operator new(size_t, std::nothrow_t const&)
37    _Znw[jmy]RKSt9nothrow_t;
38
39    # operator delete(void*)
40    _ZdlPv;
41    # operator delete(void*, std::nothrow_t const&)
42    _ZdlPvRKSt9nothrow_t;
43
44    # operator new[](size_t)
45    _Zna[jmy];
46    # operator new[](size_t, std::nothrow_t const&)
47    _Zna[jmy]RKSt9nothrow_t;
48
49    # operator delete[](void*)
50    _ZdaPv;
51    # operator delete[](void*, std::nothrow_t const&)
52    _ZdaPvRKSt9nothrow_t;
53
54    # function-scope static objects requires a guard variable.
55    _ZGVNSt*;
56
57    # VTT structure
58    _ZTTNSt*;
59
60    # vtable
61    _ZTVSt*;
62    _ZTVNSt*;
63    _ZTVN9__gnu_cxx3__718stdio_sync_filebufI[cw]NSt3__711char_traitsI[cw]EEEE;
64
65    # thunk
66    _ZTv0_n12_NS*;
67    _ZTv0_n24_NS*;
68
69    # typeinfo structure
70    _ZTISt*;
71    _ZTINSt*;
72
73    # typeinfo name
74    _ZTSSt*;
75    _ZTSNSt*;
76
77    # locale
78    _ZNSt3__79has_facetINS_*;
79
80    # hash
81    _ZNSt8__detail3__712__prime_listE;
82    _ZNSt3tr18__detail3__712__prime_listE;
83
84    # thread/mutex/condition_variable/future
85    __once_proxy;
86
87    # std::__detail::_List_node_base
88    _ZNSt8__detail3__715_List_node_base7_M_hook*;
89    _ZNSt8__detail3__715_List_node_base9_M_unhookEv;
90    _ZNSt8__detail3__715_List_node_base10_M_reverseEv;
91    _ZNSt8__detail3__715_List_node_base11_M_transfer*;
92    _ZNSt8__detail3__715_List_node_base4swapER*;
93
94    # std::__convert_to_v
95    _ZNSt3__714__convert_to_v*;
96
97    # std::__copy_streambufs
98    _ZNSt3__717__copy_streambufsI*;
99    _ZNSt3__721__copy_streambufs_eofI*;
100
101    # __gnu_cxx::__atomic_add
102    # __gnu_cxx::__exchange_and_add
103    _ZN9__gnu_cxx3__712__atomic_addEPV[il][il];
104    _ZN9__gnu_cxx3__718__exchange_and_addEPV[li][il];
105
106    # __gnu_cxx::__pool
107    _ZN9__gnu_cxx3__76__poolILb[01]EE13_M_initializeEv;
108    _ZN9__gnu_cxx3__76__poolILb[01]EE16_M_reserve_blockE[jmy][jmy];
109    _ZN9__gnu_cxx3__76__poolILb[01]EE16_M_reclaim_blockEPc[jmy];
110    _ZN9__gnu_cxx3__76__poolILb[01]EE10_M_destroyEv;
111    _ZN9__gnu_cxx3__76__poolILb1EE16_M_get_thread_idEv;
112
113    _ZN9__gnu_cxx3__717__pool_alloc_base9_M_refillE[jmy];
114    _ZN9__gnu_cxx3__717__pool_alloc_base16_M_get_free_listE[jmy];
115    _ZN9__gnu_cxx3__717__pool_alloc_base12_M_get_mutexEv;
116
117    _ZN9__gnu_cxx3__79free_list6_M_getE[jmy];
118    _ZN9__gnu_cxx3__79free_list8_M_clearEv;
119
120    # __gnu_cxx::stdio_sync_filebuf
121    _ZTVN9__gnu_cxx3__718stdio_sync_filebufI[cw]St3__711char_traitsI[cw]EEE;
122    _ZN9__gnu_cxx3__718stdio_sync_filebufI[cw]NSt3__711char_traitsI[cw]EEE[5-9]*;
123
124    # debug mode
125    _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
126    _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
127    _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
128    _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
129    _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
130
131    _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
132    _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
133    _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
134    _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
135    _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
136    _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
137    _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
138
139    _ZNK11__gnu_debug16_Error_formatter10_M_message*;
140    _ZNK11__gnu_debug16_Error_formatter10_Parameter*;
141    _ZNK11__gnu_debug16_Error_formatter13_M_print_word*;
142    _ZNK11__gnu_debug16_Error_formatter15_M_print_string*;
143    _ZNK11__gnu_debug16_Error_formatter8_M_error*;
144    _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv;
145
146    # __gnu_debug::_Safe_unordered_container_base
147    # __gnu_debug::_Safe_local_iterator_base
148    _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_;
149    _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv;
150    _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
151    _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv;
152
153
154    # parallel mode
155    _ZN14__gnu_parallel9_Settings3getEv;
156    _ZN14__gnu_parallel9_Settings3setERS0_;
157
158  local:
159    *;
160};
161
162
163# Symbols in the support library (libsupc++) have their own tag.
164CXXABI_2.0 {
165
166  global:
167    __cxa_allocate_exception;
168    __cxa_allocate_dependent_exception;
169    __cxa_bad_cast;
170    __cxa_bad_typeid;
171    __cxa_begin_catch;
172    __cxa_begin_cleanup;
173    __cxa_call_unexpected;
174    __cxa_current_exception_type;
175    __cxa_deleted_virtual;
176    __cxa_demangle;
177    __cxa_end_catch;
178    __cxa_end_cleanup;
179    __cxa_free_exception;
180    __cxa_free_dependent_exception;
181    __cxa_get_exception_ptr;
182    __cxa_get_globals;
183    __cxa_get_globals_fast;
184    __cxa_guard_abort;
185    __cxa_guard_acquire;
186    __cxa_guard_release;
187    __cxa_pure_virtual;
188    __cxa_rethrow;
189    __cxa_throw;
190    __cxa_type_match;
191    __cxa_vec_cctor;
192    __cxa_vec_cleanup;
193    __cxa_vec_ctor;
194    __cxa_vec_delete2;
195    __cxa_vec_delete3;
196    __cxa_vec_delete;
197    __cxa_vec_dtor;
198    __cxa_vec_new2;
199    __cxa_vec_new3;
200    __cxa_vec_new;
201    __gxx_personality_v0;
202    __gxx_personality_sj0;
203    __dynamic_cast;
204
205    # std::exception_ptr
206    _ZNSt15__exception_ptr13exception_ptrC1Ev;
207    _ZNSt15__exception_ptr13exception_ptrC2Ev;
208    _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
209    _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
210    _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
211    _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
212    _ZNSt15__exception_ptr13exception_ptrD1Ev;
213    _ZNSt15__exception_ptr13exception_ptrD2Ev;
214    _ZNSt15__exception_ptr13exception_ptraSERKS0_;
215    _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
216    _ZNKSt15__exception_ptr13exception_ptrntEv;
217    _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
218    _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
219    _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
220    _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
221
222    _ZSt17current_exceptionv;
223    _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
224
225    # std::nested_exception
226    _ZNSt16nested_exceptionD*;
227    _ZTISt16nested_exception;
228    _ZTVSt16nested_exception;
229
230    # std::bad_function_call.
231    _ZNSt17bad_function_callD*;
232    _ZTISt17bad_function_call;
233    _ZTSSt17bad_function_call;
234    _ZTVSt17bad_function_call;
235
236    # Default function.
237    _ZSt11_Hash_bytesPKv*;
238
239    # FNV hash.
240    _ZSt15_Fnv_hash_bytesPKv*;
241
242    # __gnu_cxx::_verbose_terminate_handler()
243    _ZN9__gnu_cxx3__727__verbose_terminate_handlerEv;
244
245    # *_type_info classes, ctor and dtor
246    _ZN10__cxxabiv117__array_type_info*;
247    _ZN10__cxxabiv117__class_type_info*;
248    _ZN10__cxxabiv116__enum_type_info*;
249    _ZN10__cxxabiv120__function_type_info*;
250    _ZN10__cxxabiv123__fundamental_type_info*;
251    _ZN10__cxxabiv117__pbase_type_info*;
252    _ZN10__cxxabiv129__pointer_to_member_type_info*;
253    _ZN10__cxxabiv119__pointer_type_info*;
254    _ZN10__cxxabiv120__si_class_type_info*;
255    _ZN10__cxxabiv121__vmi_class_type_info*;
256
257    # *_type_info classes, member functions
258    _ZNK10__cxxabiv117__class_type_info*;
259    _ZNK10__cxxabiv120__function_type_info*;
260    _ZNK10__cxxabiv117__pbase_type_info*;
261    _ZNK10__cxxabiv129__pointer_to_member_type_info*;
262    _ZNK10__cxxabiv119__pointer_type_info*;
263    _ZNK10__cxxabiv120__si_class_type_info*;
264    _ZNK10__cxxabiv121__vmi_class_type_info*;
265
266    # typeinfo structure
267    _ZTI[a-z];
268    _ZTIP[a-z];
269    _ZTIPK[a-z];
270    _ZTIN10__cxxabiv117__array_type_infoE;
271    _ZTIN10__cxxabiv117__class_type_infoE;
272    _ZTIN10__cxxabiv116__enum_type_infoE;
273    _ZTIN10__cxxabiv120__function_type_infoE;
274    _ZTIN10__cxxabiv123__fundamental_type_infoE;
275    _ZTIN10__cxxabiv117__pbase_type_infoE;
276    _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
277    _ZTIN10__cxxabiv119__pointer_type_infoE;
278    _ZTIN10__cxxabiv120__si_class_type_infoE;
279    _ZTIN10__cxxabiv121__vmi_class_type_infoE;
280    _ZTIN10__cxxabiv115__forced_unwindE;
281    _ZTIN10__cxxabiv119__foreign_exceptionE;
282    _ZTIN10__cxxabiv115__forced_unwindE;
283    _ZTIN10__cxxabiv119__foreign_exceptionE;
284
285    # typeinfo name
286    _ZTS[a-z];
287    _ZTSP[a-z];
288    _ZTSPK[a-z];
289    _ZTSN10__cxxabiv117__array_type_infoE;
290    _ZTSN10__cxxabiv117__class_type_infoE;
291    _ZTSN10__cxxabiv116__enum_type_infoE;
292    _ZTSN10__cxxabiv120__function_type_infoE;
293    _ZTSN10__cxxabiv123__fundamental_type_infoE;
294    _ZTSN10__cxxabiv117__pbase_type_infoE;
295    _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
296    _ZTSN10__cxxabiv119__pointer_type_infoE;
297    _ZTSN10__cxxabiv120__si_class_type_infoE;
298    _ZTSN10__cxxabiv121__vmi_class_type_infoE;
299
300    # typeinfo for char16_t and char32_t
301    _ZTIDs;
302    _ZTIPDs;
303    _ZTIPKDs;
304    _ZTIDi;
305    _ZTIPDi;
306    _ZTIPKDi;
307
308    # typeinfo for decimal floating point types
309    _ZTID[fde];
310    _ZTIPD[fde];
311    _ZTIPKD[fde];
312
313    # typeinfo for decltype(nullptr)
314    _ZTIDn;
315    _ZTIPDn;
316    _ZTIPKDn;
317
318    # typeinfo for __int128 and unsigned __int128
319    _ZTI[no];
320    _ZTIP[no];
321    _ZTIPK[no];
322
323    # virtual table
324    _ZTVN10__cxxabiv117__array_type_infoE;
325    _ZTVN10__cxxabiv117__class_type_infoE;
326    _ZTVN10__cxxabiv116__enum_type_infoE;
327    _ZTVN10__cxxabiv120__function_type_infoE;
328    _ZTVN10__cxxabiv123__fundamental_type_infoE;
329    _ZTVN10__cxxabiv117__pbase_type_infoE;
330    _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
331    _ZTVN10__cxxabiv119__pointer_type_infoE;
332    _ZTVN10__cxxabiv120__si_class_type_infoE;
333    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
334
335};
336
337# Symbols in the support library (libsupc++) supporting trans-mem.
338CXXABI_TM_1 {
339
340  global:
341    __cxa_tm_cleanup;
342
343};
344