]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / config / abi / pre / gnu-versioned-namespace.ver
CommitLineData
3cbc7af0
BK
1## Linker script for GNU namespace versioning.
2##
a5544970 3## Copyright (C) 2002-2019 Free Software Foundation, Inc.
3cbc7af0
BK
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
748086b7 10## Free Software Foundation; either version 3, or (at your option)
3cbc7af0
BK
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
748086b7
JJ
19## with this library; see the file COPYING3. If not see
20## <http://www.gnu.org/licenses/>.
3cbc7af0 21
87c7063d 22GLIBCXX_8.0 {
3cbc7af0
BK
23
24 global:
25
26 # Names inside the 'extern' block are demangled names.
27 extern "C++"
28 {
957ea7ba 29 std::*;
87c7063d 30 std::__8::*;
957ea7ba 31 std::random_device::*
3cbc7af0
BK
32 };
33
34 # operator new(size_t)
c1da2dc9 35 _Znw[jmy];
3cbc7af0 36 # operator new(size_t, std::nothrow_t const&)
c1da2dc9 37 _Znw[jmy]RKSt9nothrow_t;
3cbc7af0
BK
38
39 # operator delete(void*)
40 _ZdlPv;
41 # operator delete(void*, std::nothrow_t const&)
42 _ZdlPvRKSt9nothrow_t;
43
44 # operator new[](size_t)
c1da2dc9 45 _Zna[jmy];
3cbc7af0 46 # operator new[](size_t, std::nothrow_t const&)
c1da2dc9 47 _Zna[jmy]RKSt9nothrow_t;
3cbc7af0
BK
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
957ea7ba
BK
57 # VTT structure
58 _ZTTNSt*;
59
60 # vtable
e0372a2f 61 _ZTVSt*;
957ea7ba 62 _ZTVNSt*;
87c7063d 63 _ZTVN9__gnu_cxx3__818stdio_sync_filebufI[cw]NSt3__811char_traitsI[cw]EEEE;
3cbc7af0 64
957ea7ba 65 # thunk
6da10826 66 _ZTv0_n12_NS*;
957ea7ba 67 _ZTv0_n24_NS*;
3cbc7af0 68
957ea7ba 69 # typeinfo structure
e0372a2f 70 _ZTISt*;
957ea7ba
BK
71 _ZTINSt*;
72
73 # typeinfo name
e0372a2f 74 _ZTSSt*;
957ea7ba
BK
75 _ZTSNSt*;
76
77 # locale
87c7063d 78 _ZNSt3__89has_facetINS_*;
957ea7ba 79
f92ab29f 80 # hash
87c7063d
FD
81 _ZNSt8__detail3__812__prime_listE;
82 _ZNSt3tr18__detail3__812__prime_listE;
957ea7ba
BK
83
84 # thread/mutex/condition_variable/future
85 __once_proxy;
3cbc7af0 86
12ffa228 87 # std::__detail::_List_node_base
87c7063d
FD
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*;
12ffa228 93
3cbc7af0 94 # std::__convert_to_v
87c7063d 95 _ZNSt3__814__convert_to_v*;
3cbc7af0
BK
96
97 # std::__copy_streambufs
87c7063d
FD
98 _ZNSt3__817__copy_streambufsI*;
99 _ZNSt3__821__copy_streambufs_eofI*;
3cbc7af0
BK
100
101 # __gnu_cxx::__atomic_add
102 # __gnu_cxx::__exchange_and_add
87c7063d
FD
103 _ZN9__gnu_cxx3__812__atomic_addEPV[il][il];
104 _ZN9__gnu_cxx3__818__exchange_and_addEPV[li][il];
3cbc7af0
BK
105
106 # __gnu_cxx::__pool
87c7063d
FD
107 _ZN9__gnu_cxx3__86__poolILb[01]EE13_M_initializeEv;
108 _ZN9__gnu_cxx3__86__poolILb[01]EE16_M_reserve_blockE[jmy][jmy];
109 _ZN9__gnu_cxx3__86__poolILb[01]EE16_M_reclaim_blockEPc[jmy];
110 _ZN9__gnu_cxx3__86__poolILb[01]EE10_M_destroyEv;
111 _ZN9__gnu_cxx3__86__poolILb1EE16_M_get_thread_idEv;
3cbc7af0 112
87c7063d
FD
113 _ZN9__gnu_cxx3__817__pool_alloc_base9_M_refillE[jmy];
114 _ZN9__gnu_cxx3__817__pool_alloc_base16_M_get_free_listE[jmy];
115 _ZN9__gnu_cxx3__817__pool_alloc_base12_M_get_mutexEv;
3cbc7af0 116
87c7063d
FD
117 _ZN9__gnu_cxx3__89free_list6_M_getE[jmy];
118 _ZN9__gnu_cxx3__89free_list8_M_clearEv;
3cbc7af0 119
9b690d8c 120 # __gnu_cxx::stdio_sync_filebuf
87c7063d
FD
121 _ZTVN9__gnu_cxx3__818stdio_sync_filebufI[cw]St3__811char_traitsI[cw]EEE;
122 _ZN9__gnu_cxx3__818stdio_sync_filebufI[cw]NSt3__811char_traitsI[cw]EEE[5-9]*;
9b690d8c 123
9adfc73c 124 # debug mode
9adfc73c
BK
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
9b690d8c
BK
131 _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
132 _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
9adfc73c
BK
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*;
9adfc73c 140 _ZNK11__gnu_debug16_Error_formatter8_M_error*;
9adfc73c 141
68459267
BK
142 # __gnu_debug::_Safe_unordered_container_base
143 # __gnu_debug::_Safe_local_iterator_base
144 _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_;
145 _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv;
146 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
147 _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv;
148
12ffa228
BK
149 # parallel mode
150 _ZN14__gnu_parallel9_Settings3getEv;
151 _ZN14__gnu_parallel9_Settings3setERS0_;
152
3cbc7af0
BK
153 local:
154 *;
155};
156
157
158# Symbols in the support library (libsupc++) have their own tag.
9b690d8c 159CXXABI_2.0 {
3cbc7af0
BK
160
161 global:
162 __cxa_allocate_exception;
c1da2dc9 163 __cxa_allocate_dependent_exception;
3cbc7af0
BK
164 __cxa_bad_cast;
165 __cxa_bad_typeid;
166 __cxa_begin_catch;
167 __cxa_begin_cleanup;
168 __cxa_call_unexpected;
169 __cxa_current_exception_type;
c1da2dc9 170 __cxa_deleted_virtual;
3cbc7af0
BK
171 __cxa_demangle;
172 __cxa_end_catch;
173 __cxa_end_cleanup;
174 __cxa_free_exception;
c1da2dc9 175 __cxa_free_dependent_exception;
3cbc7af0 176 __cxa_get_exception_ptr;
27abac26 177 __cxa_init_primary_exception;
3cbc7af0
BK
178 __cxa_get_globals;
179 __cxa_get_globals_fast;
180 __cxa_guard_abort;
181 __cxa_guard_acquire;
182 __cxa_guard_release;
183 __cxa_pure_virtual;
184 __cxa_rethrow;
e347987d 185 __cxa_thread_atexit;
3cbc7af0
BK
186 __cxa_throw;
187 __cxa_type_match;
188 __cxa_vec_cctor;
189 __cxa_vec_cleanup;
190 __cxa_vec_ctor;
191 __cxa_vec_delete2;
192 __cxa_vec_delete3;
193 __cxa_vec_delete;
194 __cxa_vec_dtor;
195 __cxa_vec_new2;
196 __cxa_vec_new3;
197 __cxa_vec_new;
198 __gxx_personality_v0;
199 __gxx_personality_sj0;
200 __dynamic_cast;
201
9b690d8c
BK
202 # std::exception_ptr
203 _ZNSt15__exception_ptr13exception_ptrC1Ev;
204 _ZNSt15__exception_ptr13exception_ptrC2Ev;
27abac26 205 _ZNSt15__exception_ptr13exception_ptrC1EPv;
9b690d8c
BK
206 _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
207 _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
208 _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
209 _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
210 _ZNSt15__exception_ptr13exception_ptrD1Ev;
211 _ZNSt15__exception_ptr13exception_ptrD2Ev;
212 _ZNSt15__exception_ptr13exception_ptraSERKS0_;
213 _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
214 _ZNKSt15__exception_ptr13exception_ptrntEv;
215 _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
216 _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
217 _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
218 _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
219
220 _ZSt17current_exceptionv;
221 _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
222
c1da2dc9
BK
223 # std::nested_exception
224 _ZNSt16nested_exceptionD*;
225 _ZTISt16nested_exception;
226 _ZTVSt16nested_exception;
227
9b690d8c
BK
228 # std::bad_function_call.
229 _ZNSt17bad_function_callD*;
230 _ZTISt17bad_function_call;
231 _ZTSSt17bad_function_call;
232 _ZTVSt17bad_function_call;
233
7d5e76c8
JM
234 __cxa_throw_bad_array_new_length;
235 _Z*St20bad_array_new_length*;
236
0138d6b2
JM
237 __cxa_throw_bad_array_length;
238 _Z*St16bad_array_length*;
239
9b690d8c
BK
240 # Default function.
241 _ZSt11_Hash_bytesPKv*;
242
243 # FNV hash.
244 _ZSt15_Fnv_hash_bytesPKv*;
245
246 # __gnu_cxx::_verbose_terminate_handler()
87c7063d 247 _ZN9__gnu_cxx3__827__verbose_terminate_handlerEv;
9b690d8c 248
3cbc7af0
BK
249 # *_type_info classes, ctor and dtor
250 _ZN10__cxxabiv117__array_type_info*;
251 _ZN10__cxxabiv117__class_type_info*;
252 _ZN10__cxxabiv116__enum_type_info*;
253 _ZN10__cxxabiv120__function_type_info*;
254 _ZN10__cxxabiv123__fundamental_type_info*;
255 _ZN10__cxxabiv117__pbase_type_info*;
256 _ZN10__cxxabiv129__pointer_to_member_type_info*;
257 _ZN10__cxxabiv119__pointer_type_info*;
258 _ZN10__cxxabiv120__si_class_type_info*;
259 _ZN10__cxxabiv121__vmi_class_type_info*;
260
261 # *_type_info classes, member functions
262 _ZNK10__cxxabiv117__class_type_info*;
263 _ZNK10__cxxabiv120__function_type_info*;
264 _ZNK10__cxxabiv117__pbase_type_info*;
265 _ZNK10__cxxabiv129__pointer_to_member_type_info*;
266 _ZNK10__cxxabiv119__pointer_type_info*;
267 _ZNK10__cxxabiv120__si_class_type_info*;
268 _ZNK10__cxxabiv121__vmi_class_type_info*;
269
9adfc73c 270 # typeinfo structure
3cbc7af0
BK
271 _ZTI[a-z];
272 _ZTIP[a-z];
273 _ZTIPK[a-z];
274 _ZTIN10__cxxabiv117__array_type_infoE;
275 _ZTIN10__cxxabiv117__class_type_infoE;
276 _ZTIN10__cxxabiv116__enum_type_infoE;
277 _ZTIN10__cxxabiv120__function_type_infoE;
278 _ZTIN10__cxxabiv123__fundamental_type_infoE;
279 _ZTIN10__cxxabiv117__pbase_type_infoE;
280 _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
281 _ZTIN10__cxxabiv119__pointer_type_infoE;
282 _ZTIN10__cxxabiv120__si_class_type_infoE;
283 _ZTIN10__cxxabiv121__vmi_class_type_infoE;
9adfc73c
BK
284 _ZTIN10__cxxabiv115__forced_unwindE;
285 _ZTIN10__cxxabiv119__foreign_exceptionE;
9b690d8c
BK
286 _ZTIN10__cxxabiv115__forced_unwindE;
287 _ZTIN10__cxxabiv119__foreign_exceptionE;
3cbc7af0
BK
288
289 # typeinfo name
290 _ZTS[a-z];
291 _ZTSP[a-z];
292 _ZTSPK[a-z];
293 _ZTSN10__cxxabiv117__array_type_infoE;
294 _ZTSN10__cxxabiv117__class_type_infoE;
295 _ZTSN10__cxxabiv116__enum_type_infoE;
296 _ZTSN10__cxxabiv120__function_type_infoE;
297 _ZTSN10__cxxabiv123__fundamental_type_infoE;
298 _ZTSN10__cxxabiv117__pbase_type_infoE;
299 _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
300 _ZTSN10__cxxabiv119__pointer_type_infoE;
301 _ZTSN10__cxxabiv120__si_class_type_infoE;
302 _ZTSN10__cxxabiv121__vmi_class_type_infoE;
303
9b690d8c
BK
304 # typeinfo for char16_t and char32_t
305 _ZTIDs;
306 _ZTIPDs;
307 _ZTIPKDs;
308 _ZTIDi;
309 _ZTIPDi;
310 _ZTIPKDi;
311
312 # typeinfo for decimal floating point types
313 _ZTID[fde];
314 _ZTIPD[fde];
315 _ZTIPKD[fde];
316
317 # typeinfo for decltype(nullptr)
318 _ZTIDn;
319 _ZTIPDn;
320 _ZTIPKDn;
321
b911b50d
MG
322 # typeinfo for __int128 and unsigned __int128
323 _ZTI[no];
324 _ZTIP[no];
325 _ZTIPK[no];
c1da2dc9 326
9b690d8c
BK
327 # virtual table
328 _ZTVN10__cxxabiv117__array_type_infoE;
329 _ZTVN10__cxxabiv117__class_type_infoE;
330 _ZTVN10__cxxabiv116__enum_type_infoE;
331 _ZTVN10__cxxabiv120__function_type_infoE;
332 _ZTVN10__cxxabiv123__fundamental_type_infoE;
333 _ZTVN10__cxxabiv117__pbase_type_infoE;
334 _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
335 _ZTVN10__cxxabiv119__pointer_type_infoE;
336 _ZTVN10__cxxabiv120__si_class_type_infoE;
337 _ZTVN10__cxxabiv121__vmi_class_type_infoE;
3cbc7af0 338
4244b840 339 # operator delete(void*, std::size_t)
47830a4d 340 _ZdlPv[jmy];
4244b840 341 # operator delete[](void*, std::size_t)
47830a4d 342 _ZdaPv[jmy];
e347987d
JW
343
344 # __gnu_cxx::__freeres()
345 _ZN9__gnu_cxx9__freeresEv;
76d3fd72
FD
346
347 # C++17 aligned new/delete
348 _Znw[jmy]St11align_val_t;
349 _Znw[jmy]St11align_val_tRKSt9nothrow_t;
350 _Zna[jmy]St11align_val_t;
351 _Zna[jmy]St11align_val_tRKSt9nothrow_t;
352 _ZdlPvSt11align_val_t;
353 _ZdlPvSt11align_val_tRKSt9nothrow_t;
354 _ZdlPv[jmy]St11align_val_t;
355 _ZdaPvSt11align_val_t;
356 _ZdaPvSt11align_val_tRKSt9nothrow_t;
357 _ZdaPv[jmy]St11align_val_t;
3cbc7af0 358};
0a35513e
AH
359
360# Symbols in the support library (libsupc++) supporting trans-mem.
361CXXABI_TM_1 {
ca2fecdc 362
0a35513e
AH
363 global:
364 __cxa_tm_cleanup;
365
0a35513e 366};