OSDN Git Service

2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
[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_5.0 {
24
25   global:
26
27     # Names inside the 'extern' block are demangled names.
28     extern "C++"
29     {
30       std::_6::*;
31       std::*
32     };
33
34     # locale
35     _ZNSt2_69has_facetINS_*;
36
37     # hash 
38     _ZNSt2_68__detail12__prime_listE;
39
40     # thread/mutex/condition_variable/future
41     __once_proxy;
42
43     # operator new(size_t)
44     _Znw[jm];
45     # operator new(size_t, std::nothrow_t const&)
46     _Znw[jm]RKSt9nothrow_t;
47
48     # operator delete(void*)
49     _ZdlPv;
50     # operator delete(void*, std::nothrow_t const&)
51     _ZdlPvRKSt9nothrow_t;
52
53     # operator new[](size_t)
54     _Zna[jm];
55     # operator new[](size_t, std::nothrow_t const&)
56     _Zna[jm]RKSt9nothrow_t;
57
58     # operator delete[](void*)
59     _ZdaPv;
60     # operator delete[](void*, std::nothrow_t const&)
61     _ZdaPvRKSt9nothrow_t;
62
63     # function-scope static objects requires a guard variable.
64     _ZGVNSt*;
65
66     _ZTT*;
67     _ZTV*;
68
69     _ZTI*;
70     _ZTS*;
71
72     _ZTv0_n*;
73
74     # std::__convert_to_v
75     _ZNSt2_614__convert_to_v*;
76
77     # std::__copy_streambufs
78     _ZNSt2_617__copy_streambufsI*;
79     _ZNSt2_621__copy_streambufs_eofI*;
80
81     # __gnu_cxx::__atomic_add
82     # __gnu_cxx::__exchange_and_add
83     _ZN9__gnu_cxx2_612__atomic_addEPV[il][il];
84     _ZN9__gnu_cxx2_618__exchange_and_addEPV[li][il];
85
86     # __gnu_cxx::__pool
87     _ZN9__gnu_cxx2_66__poolILb[01]EE13_M_initializeEv;
88     _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reserve_blockE[jm][jm];
89     _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reclaim_blockEPc[jm];
90     _ZN9__gnu_cxx2_66__poolILb[01]EE10_M_destroyEv;
91     _ZN9__gnu_cxx2_66__poolILb1EE16_M_get_thread_idEv;
92
93     _ZN9__gnu_cxx2_617__pool_alloc_base9_M_refillE[jm];    
94     _ZN9__gnu_cxx2_617__pool_alloc_base16_M_get_free_listE[jm];
95     _ZN9__gnu_cxx2_617__pool_alloc_base12_M_get_mutexEv;
96
97     _ZN9__gnu_cxx2_69free_list6_M_getE[jm];
98     _ZN9__gnu_cxx2_69free_list8_M_clearEv;
99
100     # __gnu_cxx::stdio_sync_filebuf
101     _ZTVN9__gnu_cxx2_618stdio_sync_filebufI[cw]St2_611char_traitsI[cw]EEE;
102     _ZN9__gnu_cxx2_618stdio_sync_filebufI[cw]NSt2_611char_traitsI[cw]EEE[5-9]*;
103
104     # debug mode
105 # xxx cxx1998?
106     _ZN10__gnu_norm15_List_node_base4hook*;
107     _ZN10__gnu_norm15_List_node_base4swap*;
108     _ZN10__gnu_norm15_List_node_base6unhookEv;
109     _ZN10__gnu_norm15_List_node_base7reverseEv;
110     _ZN10__gnu_norm15_List_node_base8transfer*;
111
112     _ZNSt6__norm15_List_node_base4hook*;
113     _ZNSt6__norm15_List_node_base4swap*;
114     _ZNSt6__norm15_List_node_base6unhookEv;
115     _ZNSt6__norm15_List_node_base7reverseEv;
116     _ZNSt6__norm15_List_node_base8transfer*;
117
118     _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
119     _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
120     _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
121     _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
122     _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
123
124     _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
125     _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
126     _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
127     _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
128     _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
129     _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
130     _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
131
132     _ZNK11__gnu_debug16_Error_formatter10_M_message*;
133     _ZNK11__gnu_debug16_Error_formatter10_Parameter*;
134     _ZNK11__gnu_debug16_Error_formatter13_M_print_word*;
135     _ZNK11__gnu_debug16_Error_formatter15_M_print_string*;
136     _ZNK11__gnu_debug16_Error_formatter8_M_error*;
137     _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv;
138
139   local:
140     *;
141 };
142
143
144 # Symbols in the support library (libsupc++) have their own tag.
145 CXXABI_2.0 {
146
147   global:
148     __cxa_allocate_exception;
149     __cxa_bad_cast;
150     __cxa_bad_typeid;
151     __cxa_begin_catch;
152     __cxa_begin_cleanup;
153     __cxa_call_unexpected;
154     __cxa_current_exception_type;
155     __cxa_demangle;
156     __cxa_end_catch;
157     __cxa_end_cleanup;
158     __cxa_free_exception;
159     __cxa_get_exception_ptr;
160     __cxa_get_globals;
161     __cxa_get_globals_fast;
162     __cxa_guard_abort;
163     __cxa_guard_acquire;
164     __cxa_guard_release;
165     __cxa_pure_virtual;
166     __cxa_rethrow;
167     __cxa_throw;
168     __cxa_type_match;
169     __cxa_vec_cctor;
170     __cxa_vec_cleanup;
171     __cxa_vec_ctor;
172     __cxa_vec_delete2;
173     __cxa_vec_delete3;
174     __cxa_vec_delete;
175     __cxa_vec_dtor;
176     __cxa_vec_new2;
177     __cxa_vec_new3;
178     __cxa_vec_new;
179     __gxx_personality_v0;
180     __gxx_personality_sj0;
181     __dynamic_cast;
182
183     # std::exception_ptr
184     _ZNSt15__exception_ptr13exception_ptrC1Ev;
185     _ZNSt15__exception_ptr13exception_ptrC2Ev;
186     _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
187     _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
188     _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
189     _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
190     _ZNSt15__exception_ptr13exception_ptrD1Ev;
191     _ZNSt15__exception_ptr13exception_ptrD2Ev;
192     _ZNSt15__exception_ptr13exception_ptraSERKS0_;
193     _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
194     _ZNKSt15__exception_ptr13exception_ptrntEv;
195     _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
196     _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
197     _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
198     _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
199
200     _ZSt17current_exceptionv;
201     _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
202
203     # std::bad_function_call.
204     _ZNSt17bad_function_callD*;
205     _ZTISt17bad_function_call;
206     _ZTSSt17bad_function_call;
207     _ZTVSt17bad_function_call;
208
209     # Default function.
210     _ZSt11_Hash_bytesPKv*;
211
212     # FNV hash.
213     _ZSt15_Fnv_hash_bytesPKv*;
214
215     # __gnu_cxx::_verbose_terminate_handler()
216     _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
217
218     # *_type_info classes, ctor and dtor
219     _ZN10__cxxabiv117__array_type_info*;
220     _ZN10__cxxabiv117__class_type_info*;
221     _ZN10__cxxabiv116__enum_type_info*;
222     _ZN10__cxxabiv120__function_type_info*;
223     _ZN10__cxxabiv123__fundamental_type_info*;
224     _ZN10__cxxabiv117__pbase_type_info*;
225     _ZN10__cxxabiv129__pointer_to_member_type_info*;
226     _ZN10__cxxabiv119__pointer_type_info*;
227     _ZN10__cxxabiv120__si_class_type_info*;
228     _ZN10__cxxabiv121__vmi_class_type_info*;
229
230     # *_type_info classes, member functions
231     _ZNK10__cxxabiv117__class_type_info*;
232     _ZNK10__cxxabiv120__function_type_info*;
233     _ZNK10__cxxabiv117__pbase_type_info*;
234     _ZNK10__cxxabiv129__pointer_to_member_type_info*;
235     _ZNK10__cxxabiv119__pointer_type_info*;
236     _ZNK10__cxxabiv120__si_class_type_info*;
237     _ZNK10__cxxabiv121__vmi_class_type_info*;
238
239     # typeinfo structure
240     _ZTI[a-z];
241     _ZTIP[a-z];
242     _ZTIPK[a-z];
243     _ZTIN10__cxxabiv117__array_type_infoE;
244     _ZTIN10__cxxabiv117__class_type_infoE;
245     _ZTIN10__cxxabiv116__enum_type_infoE;
246     _ZTIN10__cxxabiv120__function_type_infoE;
247     _ZTIN10__cxxabiv123__fundamental_type_infoE;
248     _ZTIN10__cxxabiv117__pbase_type_infoE;
249     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
250     _ZTIN10__cxxabiv119__pointer_type_infoE;
251     _ZTIN10__cxxabiv120__si_class_type_infoE;
252     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
253     _ZTIN10__cxxabiv115__forced_unwindE;
254     _ZTIN10__cxxabiv119__foreign_exceptionE;
255     _ZTIN10__cxxabiv115__forced_unwindE;
256     _ZTIN10__cxxabiv119__foreign_exceptionE;
257
258     # typeinfo name
259     _ZTS[a-z];
260     _ZTSP[a-z];
261     _ZTSPK[a-z];
262     _ZTSN10__cxxabiv117__array_type_infoE;
263     _ZTSN10__cxxabiv117__class_type_infoE;
264     _ZTSN10__cxxabiv116__enum_type_infoE;
265     _ZTSN10__cxxabiv120__function_type_infoE;
266     _ZTSN10__cxxabiv123__fundamental_type_infoE;
267     _ZTSN10__cxxabiv117__pbase_type_infoE;
268     _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
269     _ZTSN10__cxxabiv119__pointer_type_infoE;
270     _ZTSN10__cxxabiv120__si_class_type_infoE;
271     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
272
273     # typeinfo for char16_t and char32_t
274     _ZTIDs;
275     _ZTIPDs;
276     _ZTIPKDs;
277     _ZTIDi;
278     _ZTIPDi;
279     _ZTIPKDi;
280
281     # typeinfo for decimal floating point types
282     _ZTID[fde];
283     _ZTIPD[fde];
284     _ZTIPKD[fde];
285
286     # typeinfo for decltype(nullptr)
287     _ZTIDn;
288     _ZTIPDn;
289     _ZTIPKDn;
290
291     # virtual table
292     _ZTVN10__cxxabiv117__array_type_infoE;
293     _ZTVN10__cxxabiv117__class_type_infoE;
294     _ZTVN10__cxxabiv116__enum_type_infoE;
295     _ZTVN10__cxxabiv120__function_type_infoE;
296     _ZTVN10__cxxabiv123__fundamental_type_infoE;
297     _ZTVN10__cxxabiv117__pbase_type_infoE;
298     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
299     _ZTVN10__cxxabiv119__pointer_type_infoE;
300     _ZTVN10__cxxabiv120__si_class_type_infoE;
301     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
302
303   local:
304     *;
305 };