xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver (revision 19ef5b5b0bcb90f63509df6e78769de1b57c2758)
1## Linker script for GNU namespace versioning.
2##
3## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
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
10## Free Software Foundation; either version 3, or (at your option)
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
19## with this library; see the file COPYING3.  If not see
20## <http://www.gnu.org/licenses/>.
21
22GLIBCXX_3.7 {
23
24  global:
25
26    # Names inside the 'extern' block are demangled names.
27    extern "C++"
28    {
29      std::_6::*;
30      std::*
31    };
32
33    # operator new(size_t)
34    _Znw[jm];
35    # operator new(size_t, std::nothrow_t const&)
36    _Znw[jm]RKSt9nothrow_t;
37
38    # operator delete(void*)
39    _ZdlPv;
40    # operator delete(void*, std::nothrow_t const&)
41    _ZdlPvRKSt9nothrow_t;
42
43    # operator new[](size_t)
44    _Zna[jm];
45    # operator new[](size_t, std::nothrow_t const&)
46    _Zna[jm]RKSt9nothrow_t;
47
48    # operator delete[](void*)
49    _ZdaPv;
50    # operator delete[](void*, std::nothrow_t const&)
51    _ZdaPvRKSt9nothrow_t;
52
53    # function-scope static objects requires a guard variable.
54    _ZGVNSt*;
55
56    _ZTT*;
57    _ZTV*;
58
59    _ZTI*;
60    _ZTS*;
61
62    _ZTv0_n*;
63
64    # std::__convert_to_v
65    _ZNSt2_614__convert_to_v*;
66
67    # std::__copy_streambufs
68    _ZNSt2_617__copy_streambufsI*;
69    _ZNSt2_621__copy_streambufs_eofI*;
70
71    # __gnu_cxx::__atomic_add
72    # __gnu_cxx::__exchange_and_add
73    _ZN9__gnu_cxx2_612__atomic_addEPV[il][il];
74    _ZN9__gnu_cxx2_618__exchange_and_addEPV[li][il];
75
76    # __gnu_cxx::__pool
77    _ZN9__gnu_cxx2_66__poolILb[01]EE13_M_initializeEv;
78    _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reserve_blockE[jm][jm];
79    _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reclaim_blockEPc[jm];
80    _ZN9__gnu_cxx2_66__poolILb[01]EE10_M_destroyEv;
81    _ZN9__gnu_cxx2_66__poolILb1EE16_M_get_thread_idEv;
82
83    _ZN9__gnu_cxx2_617__pool_alloc_base9_M_refillE[jm];
84    _ZN9__gnu_cxx2_617__pool_alloc_base16_M_get_free_listE[jm];
85    _ZN9__gnu_cxx2_617__pool_alloc_base12_M_get_mutexEv;
86
87    _ZN9__gnu_cxx2_69free_list6_M_getE[jm];
88    _ZN9__gnu_cxx2_69free_list8_M_clearEv;
89
90    # debug mode
91    _ZN10__gnu_norm15_List_node_base4hook*;
92    _ZN10__gnu_norm15_List_node_base4swap*;
93    _ZN10__gnu_norm15_List_node_base6unhookEv;
94    _ZN10__gnu_norm15_List_node_base7reverseEv;
95    _ZN10__gnu_norm15_List_node_base8transfer*;
96
97    _ZNSt6__norm15_List_node_base4hook*;
98    _ZNSt6__norm15_List_node_base4swap*;
99    _ZNSt6__norm15_List_node_base6unhookEv;
100    _ZNSt6__norm15_List_node_base7reverseEv;
101    _ZNSt6__norm15_List_node_base8transfer*;
102
103    _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
104    _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
105    _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
106    _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
107    _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
108
109    _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
110    _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
111    _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
112    _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
113    _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
114    _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
115    _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
116
117    _ZNK11__gnu_debug16_Error_formatter10_M_message*;
118    _ZNK11__gnu_debug16_Error_formatter10_Parameter*;
119    _ZNK11__gnu_debug16_Error_formatter13_M_print_word*;
120    _ZNK11__gnu_debug16_Error_formatter15_M_print_string*;
121    _ZNK11__gnu_debug16_Error_formatter8_M_error*;
122    _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv;
123
124  local:
125    *;
126};
127
128
129# Symbols in the support library (libsupc++) have their own tag.
130CXXABI_1.7 {
131
132  global:
133    __cxa_allocate_exception;
134    __cxa_bad_cast;
135    __cxa_bad_typeid;
136    __cxa_begin_catch;
137    __cxa_begin_cleanup;
138    __cxa_call_unexpected;
139    __cxa_current_exception_type;
140    __cxa_demangle;
141    __cxa_end_catch;
142    __cxa_end_cleanup;
143    __cxa_free_exception;
144    __cxa_get_exception_ptr;
145    __cxa_get_globals;
146    __cxa_get_globals_fast;
147    __cxa_guard_abort;
148    __cxa_guard_acquire;
149    __cxa_guard_release;
150    __cxa_pure_virtual;
151    __cxa_rethrow;
152    __cxa_throw;
153    __cxa_type_match;
154    __cxa_vec_cctor;
155    __cxa_vec_cleanup;
156    __cxa_vec_ctor;
157    __cxa_vec_delete2;
158    __cxa_vec_delete3;
159    __cxa_vec_delete;
160    __cxa_vec_dtor;
161    __cxa_vec_new2;
162    __cxa_vec_new3;
163    __cxa_vec_new;
164    __gxx_personality_v0;
165    __gxx_personality_sj0;
166    __dynamic_cast;
167
168    # *_type_info classes, ctor and dtor
169    _ZN10__cxxabiv117__array_type_info*;
170    _ZN10__cxxabiv117__class_type_info*;
171    _ZN10__cxxabiv116__enum_type_info*;
172    _ZN10__cxxabiv120__function_type_info*;
173    _ZN10__cxxabiv123__fundamental_type_info*;
174    _ZN10__cxxabiv117__pbase_type_info*;
175    _ZN10__cxxabiv129__pointer_to_member_type_info*;
176    _ZN10__cxxabiv119__pointer_type_info*;
177    _ZN10__cxxabiv120__si_class_type_info*;
178    _ZN10__cxxabiv121__vmi_class_type_info*;
179
180    # *_type_info classes, member functions
181    _ZNK10__cxxabiv117__class_type_info*;
182    _ZNK10__cxxabiv120__function_type_info*;
183    _ZNK10__cxxabiv117__pbase_type_info*;
184    _ZNK10__cxxabiv129__pointer_to_member_type_info*;
185    _ZNK10__cxxabiv119__pointer_type_info*;
186    _ZNK10__cxxabiv120__si_class_type_info*;
187    _ZNK10__cxxabiv121__vmi_class_type_info*;
188
189    # virtual table
190    _ZTVN10__cxxabiv117__array_type_infoE;
191    _ZTVN10__cxxabiv117__class_type_infoE;
192    _ZTVN10__cxxabiv116__enum_type_infoE;
193    _ZTVN10__cxxabiv120__function_type_infoE;
194    _ZTVN10__cxxabiv123__fundamental_type_infoE;
195    _ZTVN10__cxxabiv117__pbase_type_infoE;
196    _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
197    _ZTVN10__cxxabiv119__pointer_type_infoE;
198    _ZTVN10__cxxabiv120__si_class_type_infoE;
199    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
200
201    # typeinfo structure
202    _ZTI[a-z];
203    _ZTIP[a-z];
204    _ZTIPK[a-z];
205    _ZTIN10__cxxabiv117__array_type_infoE;
206    _ZTIN10__cxxabiv117__class_type_infoE;
207    _ZTIN10__cxxabiv116__enum_type_infoE;
208    _ZTIN10__cxxabiv120__function_type_infoE;
209    _ZTIN10__cxxabiv123__fundamental_type_infoE;
210    _ZTIN10__cxxabiv117__pbase_type_infoE;
211    _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
212    _ZTIN10__cxxabiv119__pointer_type_infoE;
213    _ZTIN10__cxxabiv120__si_class_type_infoE;
214    _ZTIN10__cxxabiv121__vmi_class_type_infoE;
215    _ZTIN10__cxxabiv115__forced_unwindE;
216    _ZTIN10__cxxabiv119__foreign_exceptionE;
217
218    # typeinfo name
219    _ZTS[a-z];
220    _ZTSP[a-z];
221    _ZTSPK[a-z];
222    _ZTSN10__cxxabiv117__array_type_infoE;
223    _ZTSN10__cxxabiv117__class_type_infoE;
224    _ZTSN10__cxxabiv116__enum_type_infoE;
225    _ZTSN10__cxxabiv120__function_type_infoE;
226    _ZTSN10__cxxabiv123__fundamental_type_infoE;
227    _ZTSN10__cxxabiv117__pbase_type_infoE;
228    _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
229    _ZTSN10__cxxabiv119__pointer_type_infoE;
230    _ZTSN10__cxxabiv120__si_class_type_infoE;
231    _ZTSN10__cxxabiv121__vmi_class_type_infoE;
232
233    # __gnu_cxx::_verbose_terminate_handler()
234    _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
235
236  local:
237    *;
238};
239