]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / config / abi / pre / gnu-versioned-namespace.ver
1 ## Linker script for GNU namespace versioning.
2 ##
3 ## Copyright (C) 2002-2022 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
22 GLIBCXX_8.0 {
23
24 global:
25
26 # Names inside the 'extern' block are demangled names.
27 extern "C++"
28 {
29 std::*;
30 std::__8::*;
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__818stdio_sync_filebufI[cw]NSt3__811char_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__89has_facetINS_*;
79
80 # hash
81 _ZNSt8__detail3__812__prime_listE;
82 _ZNSt3tr18__detail3__812__prime_listE;
83
84 # thread/mutex/condition_variable/future
85 __once_proxy;
86
87 # std::__detail::_List_node_base
88 _ZNSt8__detail3__815_List_node_base7_M_hook*;
89 _ZNSt8__detail3__815_List_node_base9_M_unhookEv;
90 _ZNSt8__detail3__815_List_node_base10_M_reverseEv;
91 _ZNSt8__detail3__815_List_node_base11_M_transfer*;
92 _ZNSt8__detail3__815_List_node_base4swapER*;
93
94 # std::__convert_to_v
95 _ZNSt3__814__convert_to_v*;
96
97 # std::__copy_streambufs
98 _ZNSt3__817__copy_streambufsI*;
99 _ZNSt3__821__copy_streambufs_eofI*;
100
101 # std::__istream_extract(wistream&, wchar_t*, streamsize)
102 _ZNSt3__817__istream_extractIwNS_11char_traitsIwEEEEvRNS_13basic_istreamIT_T0_EEPS4_[ilx];
103
104 # __gnu_cxx::__atomic_add
105 # __gnu_cxx::__exchange_and_add
106 _ZN9__gnu_cxx3__812__atomic_addEPV[il][il];
107 _ZN9__gnu_cxx3__818__exchange_and_addEPV[li][il];
108
109 # __gnu_cxx::__pool
110 _ZN9__gnu_cxx3__86__poolILb[01]EE13_M_initializeEv;
111 _ZN9__gnu_cxx3__86__poolILb[01]EE16_M_reserve_blockE[jmy][jmy];
112 _ZN9__gnu_cxx3__86__poolILb[01]EE16_M_reclaim_blockEPc[jmy];
113 _ZN9__gnu_cxx3__86__poolILb[01]EE10_M_destroyEv;
114 _ZN9__gnu_cxx3__86__poolILb1EE16_M_get_thread_idEv;
115
116 _ZN9__gnu_cxx3__817__pool_alloc_base9_M_refillE[jmy];
117 _ZN9__gnu_cxx3__817__pool_alloc_base16_M_get_free_listE[jmy];
118 _ZN9__gnu_cxx3__817__pool_alloc_base12_M_get_mutexEv;
119
120 _ZN9__gnu_cxx3__89free_list6_M_getE[jmy];
121 _ZN9__gnu_cxx3__89free_list8_M_clearEv;
122
123 # __gnu_cxx::stdio_sync_filebuf
124 _ZTVN9__gnu_cxx3__818stdio_sync_filebufI[cw]St3__811char_traitsI[cw]EEE;
125 _ZN9__gnu_cxx3__818stdio_sync_filebufI[cw]NSt3__811char_traitsI[cw]EEE[5-9]*;
126
127 # debug mode
128 _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
129 _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
130 _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
131 _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
132 _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
133
134 _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
135 _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
136 _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
137 _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
138 _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
139 _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
140 _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
141
142 _ZNK11__gnu_debug16_Error_formatter10_M_message*;
143 _ZNK11__gnu_debug16_Error_formatter8_M_error*;
144
145 # __gnu_debug::_Safe_unordered_container_base
146 # __gnu_debug::_Safe_local_iterator_base
147 _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_;
148 _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv;
149 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
150 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv;
151 _ZN11__gnu_debug25_Safe_local_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
152
153 # parallel mode
154 _ZN14__gnu_parallel9_Settings3getEv;
155 _ZN14__gnu_parallel9_Settings3setERS0_;
156
157 local:
158 *;
159 };
160
161
162 # Symbols in the support library (libsupc++) have their own tag.
163 CXXABI_2.0 {
164
165 global:
166 __cxa_allocate_exception;
167 __cxa_allocate_dependent_exception;
168 __cxa_bad_cast;
169 __cxa_bad_typeid;
170 __cxa_begin_catch;
171 __cxa_begin_cleanup;
172 __cxa_call_unexpected;
173 __cxa_current_exception_type;
174 __cxa_deleted_virtual;
175 __cxa_demangle;
176 __cxa_end_catch;
177 __cxa_end_cleanup;
178 __cxa_free_exception;
179 __cxa_free_dependent_exception;
180 __cxa_get_exception_ptr;
181 __cxa_init_primary_exception;
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_thread_atexit;
190 __cxa_throw;
191 __cxa_type_match;
192 __cxa_vec_cctor;
193 __cxa_vec_cleanup;
194 __cxa_vec_ctor;
195 __cxa_vec_delete2;
196 __cxa_vec_delete3;
197 __cxa_vec_delete;
198 __cxa_vec_dtor;
199 __cxa_vec_new2;
200 __cxa_vec_new3;
201 __cxa_vec_new;
202 __gxx_personality_v0;
203 __gxx_personality_sj0;
204 __dynamic_cast;
205
206 # std::exception_ptr
207 _ZNSt15__exception_ptr13exception_ptrC1Ev;
208 _ZNSt15__exception_ptr13exception_ptrC2Ev;
209 _ZNSt15__exception_ptr13exception_ptrC1EPv;
210 _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
211 _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
212 _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
213 _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
214 _ZNSt15__exception_ptr13exception_ptrD1Ev;
215 _ZNSt15__exception_ptr13exception_ptrD2Ev;
216 _ZNSt15__exception_ptr13exception_ptraSERKS0_;
217 _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
218 _ZNKSt15__exception_ptr13exception_ptrntEv;
219 _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
220 _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
221 _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
222 _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
223
224 _ZSt17current_exceptionv;
225 _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
226
227 # std::nested_exception
228 _ZNSt16nested_exceptionD*;
229 _ZTISt16nested_exception;
230 _ZTVSt16nested_exception;
231
232 # std::bad_function_call.
233 _ZNSt17bad_function_callD*;
234 _ZTISt17bad_function_call;
235 _ZTSSt17bad_function_call;
236 _ZTVSt17bad_function_call;
237
238 __cxa_throw_bad_array_new_length;
239 _Z*St20bad_array_new_length*;
240
241 __cxa_throw_bad_array_length;
242 _Z*St16bad_array_length*;
243
244 # Default function.
245 _ZSt11_Hash_bytesPKv*;
246
247 # FNV hash.
248 _ZSt15_Fnv_hash_bytesPKv*;
249
250 # __gnu_cxx::_verbose_terminate_handler()
251 _ZN9__gnu_cxx3__827__verbose_terminate_handlerEv;
252
253 # *_type_info classes, ctor and dtor
254 _ZN10__cxxabiv117__array_type_info*;
255 _ZN10__cxxabiv117__class_type_info*;
256 _ZN10__cxxabiv116__enum_type_info*;
257 _ZN10__cxxabiv120__function_type_info*;
258 _ZN10__cxxabiv123__fundamental_type_info*;
259 _ZN10__cxxabiv117__pbase_type_info*;
260 _ZN10__cxxabiv129__pointer_to_member_type_info*;
261 _ZN10__cxxabiv119__pointer_type_info*;
262 _ZN10__cxxabiv120__si_class_type_info*;
263 _ZN10__cxxabiv121__vmi_class_type_info*;
264
265 # *_type_info classes, member functions
266 _ZNK10__cxxabiv117__class_type_info*;
267 _ZNK10__cxxabiv120__function_type_info*;
268 _ZNK10__cxxabiv117__pbase_type_info*;
269 _ZNK10__cxxabiv129__pointer_to_member_type_info*;
270 _ZNK10__cxxabiv119__pointer_type_info*;
271 _ZNK10__cxxabiv120__si_class_type_info*;
272 _ZNK10__cxxabiv121__vmi_class_type_info*;
273
274 # typeinfo structure
275 _ZTI[a-z];
276 _ZTIP[a-z];
277 _ZTIPK[a-z];
278 _ZTIN10__cxxabiv117__array_type_infoE;
279 _ZTIN10__cxxabiv117__class_type_infoE;
280 _ZTIN10__cxxabiv116__enum_type_infoE;
281 _ZTIN10__cxxabiv120__function_type_infoE;
282 _ZTIN10__cxxabiv123__fundamental_type_infoE;
283 _ZTIN10__cxxabiv117__pbase_type_infoE;
284 _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
285 _ZTIN10__cxxabiv119__pointer_type_infoE;
286 _ZTIN10__cxxabiv120__si_class_type_infoE;
287 _ZTIN10__cxxabiv121__vmi_class_type_infoE;
288 _ZTIN10__cxxabiv115__forced_unwindE;
289 _ZTIN10__cxxabiv119__foreign_exceptionE;
290 _ZTIN10__cxxabiv115__forced_unwindE;
291 _ZTIN10__cxxabiv119__foreign_exceptionE;
292
293 # typeinfo name
294 _ZTS[a-z];
295 _ZTSP[a-z];
296 _ZTSPK[a-z];
297 _ZTSN10__cxxabiv117__array_type_infoE;
298 _ZTSN10__cxxabiv117__class_type_infoE;
299 _ZTSN10__cxxabiv116__enum_type_infoE;
300 _ZTSN10__cxxabiv120__function_type_infoE;
301 _ZTSN10__cxxabiv123__fundamental_type_infoE;
302 _ZTSN10__cxxabiv117__pbase_type_infoE;
303 _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
304 _ZTSN10__cxxabiv119__pointer_type_infoE;
305 _ZTSN10__cxxabiv120__si_class_type_infoE;
306 _ZTSN10__cxxabiv121__vmi_class_type_infoE;
307
308 # typeinfo for char8_t
309 _ZTIDu;
310 _ZTIPDu;
311 _ZTIPKDu;
312
313 # typeinfo for char16_t and char32_t
314 _ZTIDs;
315 _ZTIPDs;
316 _ZTIPKDs;
317 _ZTIDi;
318 _ZTIPDi;
319 _ZTIPKDi;
320
321 # typeinfo for decimal floating point types
322 _ZTID[fde];
323 _ZTIPD[fde];
324 _ZTIPKD[fde];
325
326 # typeinfo for decltype(nullptr)
327 _ZTIDn;
328 _ZTIPDn;
329 _ZTIPKDn;
330
331 # typeinfo for __int128 and unsigned __int128
332 _ZTI[no];
333 _ZTIP[no];
334 _ZTIPK[no];
335
336 # virtual table
337 _ZTVN10__cxxabiv117__array_type_infoE;
338 _ZTVN10__cxxabiv117__class_type_infoE;
339 _ZTVN10__cxxabiv116__enum_type_infoE;
340 _ZTVN10__cxxabiv120__function_type_infoE;
341 _ZTVN10__cxxabiv123__fundamental_type_infoE;
342 _ZTVN10__cxxabiv117__pbase_type_infoE;
343 _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
344 _ZTVN10__cxxabiv119__pointer_type_infoE;
345 _ZTVN10__cxxabiv120__si_class_type_infoE;
346 _ZTVN10__cxxabiv121__vmi_class_type_infoE;
347
348 # operator delete(void*, std::size_t)
349 _ZdlPv[jmy];
350 # operator delete[](void*, std::size_t)
351 _ZdaPv[jmy];
352
353 # __gnu_cxx::__freeres()
354 _ZN9__gnu_cxx9__freeresEv;
355
356 # C++17 aligned new/delete
357 _Znw[jmy]St11align_val_t;
358 _Znw[jmy]St11align_val_tRKSt9nothrow_t;
359 _Zna[jmy]St11align_val_t;
360 _Zna[jmy]St11align_val_tRKSt9nothrow_t;
361 _ZdlPvSt11align_val_t;
362 _ZdlPvSt11align_val_tRKSt9nothrow_t;
363 _ZdlPv[jmy]St11align_val_t;
364 _ZdaPvSt11align_val_t;
365 _ZdaPvSt11align_val_tRKSt9nothrow_t;
366 _ZdaPv[jmy]St11align_val_t;
367 };
368
369 # Symbols in the support library (libsupc++) supporting trans-mem.
370 CXXABI_TM_1 {
371
372 global:
373 __cxa_tm_cleanup;
374
375 };