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