]>
Commit | Line | Data |
---|---|---|
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 | 22 | GLIBCXX_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 | 159 | CXXABI_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. | |
361 | CXXABI_TM_1 { | |
ca2fecdc | 362 | |
0a35513e AH |
363 | global: |
364 | __cxa_tm_cleanup; | |
365 | ||
0a35513e | 366 | }; |