OSDN Git Service

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