2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / libstdc++-v3 / config / linker-map.gnu
blob7931953705811d4f9b7074bece71b8b937dac199
1 ## Linker script for GNU ld 2.13.91+ only.
2 ##
3 ## Copyright (C) 2002, 2003 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 2, or (at your option)
11 ## any later version.
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.
18 ## You should have received a copy of the GNU General Public License along
19 ## with this library; see the file COPYING.  If not, write to the Free
20 ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21 ## USA.
23 GLIBCXX_3.4 {
25   global:
27     # Names inside the 'extern' block are demangled names.
28     extern "C++"
29     {
30       std::[A-Za-h]*;
31       std::i[a-n]*;
32       std::ios_base::[A-Ha-z]*;
33       std::ios_base::_M_grow_words*;
34       std::ios_base::_M_init*;
35       std::ios_base::Init::[A-Za-z]*;
36       std::ios_base::[J-Za-z]*;
37       std::i[p-z]*;
38       std::[A-Zj-k]*;
39       std::length_error*;
40       std::logic_error*;
41       std::locale::[A-Za-e]*;
42       std::locale::facet::[A-Za-z]*;
43       std::locale::facet::_S_get_c_locale*;     
44       std::locale::facet::_S_clone_c_locale*;
45       std::locale::facet::_S_create_c_locale*;
46       std::locale::facet::_S_destroy_c_locale*;
47       std::locale::[A-Zg-h]*;
48       std::locale::id::[A-Za-z]*;
49       std::locale::id::_M_id*;
50       std::locale::[A-Zj-z]*;
51       std::locale::_[A-Ha-z]*;
52       std::locale::_Impl::[A-Za-z]*;
53       std::locale::_Impl::_M_[A-Za-z]*;
54       std::locale::_[J-Ra-z]*;
55       std::locale::_S_normalize_category*;
56       std::locale::_[T-Za-z]*;
57       std::[A-Zm-z]*;
58       std::__throw_*;
59       std::__basic_file*;
60       std::__timepunct*;
61       std::__numeric_limits_base*;
62       std::__num_base::_S_format_float*;
63       std::__num_base::_S_format_int*;
64       std::__num_base::_S_atoms_in;
65       std::__num_base::_S_atoms_out;
66       std::__moneypunct_cache*;
67       std::__numpunct_cache*;
68       std::__timepunct_cache*;
69       __gnu_norm::*;
70       __gnu_debug::_Safe_iterator_base*;
71       __gnu_debug::_Safe_sequence_base*;
72       __gnu_debug::_Error_formatter*
73     };
75     # Names not in an 'extern' block are mangled names.
77     # operator new(size_t)
78     _Znw[jm];
79     # operator new(size_t, std::nothrow_t const&)
80     _Znw[jm]RKSt9nothrow_t;
82     # operator delete(void*)
83     _ZdlPv;
84     # operator delete(void*, std::nothrow_t const&)
85     _ZdlPvRKSt9nothrow_t;
87     # operator new[](size_t)
88     _Zna[jm];
89     # operator new[](size_t, std::nothrow_t const&)
90     _Zna[jm]RKSt9nothrow_t;
92     # operator delete[](void*)
93     _ZdaPv;
94     # operator delete[](void*, std::nothrow_t const&)
95     _ZdaPvRKSt9nothrow_t;
97     # std::locale destructors
98     _ZNSt6localeD*;
99         
100     # std::locale::facet destructors
101     _ZNSt6locale5facetD*;
102          
103     # std::locale::_Impl constructors, destructors
104     _ZNSt6locale5_ImplC*;
105     _ZNSt6locale5_ImplD*;
107     # std::ios_base, std::ios_base::Init destructors
108     _ZNSt8ios_baseD*;
109     _ZNSt8ios_base4InitD*;
111     # bool has_facet 
112     _ZSt9has_facet*;
114     # _Rb_tree
115     _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
116     _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
117     _ZSt18_Rb_tree_rebalancePSt18_Rb_tree_node_baseRS0_;
118     _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_;
119     _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_;
120     _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
121     _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
123     # std::__codecvt_abstract_base*
124     _ZNStSt23__codecvt_abstract_base*;
126     # virtual table
127     _ZTVNSt8ios_base7failureE;
128     _ZTVNSt6locale5facetE;
129     _ZTVS[a-z];
130     _ZTVSt[0-9][A-Za-z]*;
131     _ZTVSt[0-9][0-9][A-Za-z]*;
132     _ZTVSt11__timepunctI[cw]E;
133     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
134     _ZTVSt21__ctype_abstract_baseI[cw]E;
136     # VTT structure
137     _ZTTS[a-z];
138     _ZTTSt[0-9][A-Za-z]*;
139     _ZTTSt[0-9][0-9][A-Za-z]*;
141     # typeinfo structure
142     _ZTIS[a-z];
143     _ZTINSt8ios_base7failureE;
144     _ZTINSt6locale5facetE;
145     _ZTISt[0-9][A-Za-z]*;
146     _ZTISt[0-9][0-9][A-Za-z]*;
147     _ZTISt11__timepunctI[cw]E;
148     _ZTISt10__num_base;
149     _ZTISt21__ctype_abstract_baseI[cw]E;
150     _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
152     # typeinfo name
153     _ZTSNSt8ios_base7failureE;
154     _ZTSNSt6locale5facetE;
155     _ZTSS[a-z];
156     _ZTSSt[0-9][A-Za-z]*;
157     _ZTSSt[0-9][0-9][A-Za-z]*;
158     _ZTSSt11__timepunctI[cw]E;
159     _ZTSSt10__num_base;
160     _ZTSSt21__ctype_abstract_baseI[cw]E;
161     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
163     # function-scope static objects requires a guard variable.
164     _ZGVNSt*;
166     # virtual function thunks
167     _ZThn8_NS*;
168     _ZThn16_NS*;
169     _ZTv0_n12_NS*;
170     _ZTv0_n24_NS*;
172     # std::__convert_to_v
173     _ZSt14__convert_to_v*;
175     # stub functions from libmath
176     sinf;
177     sinl;
178     sinhf;
179     sinhl;
180     cosf;
181     cosl;
182     coshf;
183     coshl;
184     tanf;
185     tanl;
186     tanhf;
187     tanhl;
188     atan2f;
189     atan2l;
190     expf;
191     expl;
192     hypotf;
193     hypotl;
194     hypot;
195     logf;
196     logl;
197     log10f;
198     log10l;
199     powf;
200     powl;
201     sqrtf;
202     sqrtl;
203     copysignf;
204     nan;
205     __signbit;
206     __signbitf;
207     __signbitl;
209     # __gnu_cxx::__pool_alloc
210     _ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateE[jm];
211     _ZN9__gnu_cxx12__pool_allocILb1ELi0EE10deallocateEPv[jm];
213     # __gnu_cxx::stdio_sync_filebuf
214     _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
216     # Needed only when generic cpu's atomicity.h is in use.
217     _ZN9__gnu_cxx17_Atomic_add_mutexE;
218     _ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
219     _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
221   # DO NOT DELETE THIS LINE.  Port-specific symbols, if any, will be here.
223   local:
224     *;
228 # Symbols in the support library (libsupc++) have their own tag.
229 CXXABI_1.3 {
231   global:
232     __cxa_allocate_exception;
233     __cxa_bad_cast;
234     __cxa_bad_typeid;
235     __cxa_begin_catch;
236     __cxa_call_unexpected;
237     __cxa_current_exception_type;
238     __cxa_demangle;
239     __cxa_end_catch;
240     __cxa_free_exception;
241     __cxa_get_globals;
242     __cxa_get_globals_fast;
243     __cxa_guard_abort;
244     __cxa_guard_acquire;
245     __cxa_guard_release;
246     __cxa_pure_virtual;
247     __cxa_rethrow;
248     __cxa_throw;
249     __cxa_vec_cctor;
250     __cxa_vec_cleanup;
251     __cxa_vec_ctor;
252     __cxa_vec_delete2;
253     __cxa_vec_delete3;
254     __cxa_vec_delete;
255     __cxa_vec_dtor;
256     __cxa_vec_new2;
257     __cxa_vec_new3;
258     __cxa_vec_new;
259     __gxx_personality_v0;
260     __gxx_personality_sj0;
261     __dynamic_cast;
263     # *_type_info classes, ctor and dtor
264     _ZN10__cxxabiv117__array_type_info*;
265     _ZN10__cxxabiv117__class_type_info*;
266     _ZN10__cxxabiv116__enum_type_info*;
267     _ZN10__cxxabiv120__function_type_info*;
268     _ZN10__cxxabiv123__fundamental_type_info*;
269     _ZN10__cxxabiv117__pbase_type_info*;
270     _ZN10__cxxabiv129__pointer_to_member_type_info*;
271     _ZN10__cxxabiv119__pointer_type_info*;
272     _ZN10__cxxabiv120__si_class_type_info*;
273     _ZN10__cxxabiv121__vmi_class_type_info*;
275     # *_type_info classes, member functions
276     _ZNK10__cxxabiv117__class_type_info*;
277     _ZNK10__cxxabiv120__function_type_info*;
278     _ZNK10__cxxabiv117__pbase_type_info*;
279     _ZNK10__cxxabiv129__pointer_to_member_type_info*;
280     _ZNK10__cxxabiv119__pointer_type_info*;
281     _ZNK10__cxxabiv120__si_class_type_info*;
282     _ZNK10__cxxabiv121__vmi_class_type_info*;
284     # virtual table
285     _ZTVN10__cxxabiv117__array_type_infoE;
286     _ZTVN10__cxxabiv117__class_type_infoE;
287     _ZTVN10__cxxabiv116__enum_type_infoE;
288     _ZTVN10__cxxabiv120__function_type_infoE;
289     _ZTVN10__cxxabiv123__fundamental_type_infoE;
290     _ZTVN10__cxxabiv117__pbase_type_infoE;
291     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
292     _ZTVN10__cxxabiv119__pointer_type_infoE;
293     _ZTVN10__cxxabiv120__si_class_type_infoE;
294     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
296     # typeinfo structure (and some names)
297     _ZTI[a-z];
298     _ZTIP[a-z];
299     _ZTIPK[a-z];
300     _ZTIN10__cxxabiv117__array_type_infoE;
301     _ZTIN10__cxxabiv117__class_type_infoE;
302     _ZTIN10__cxxabiv116__enum_type_infoE;
303     _ZTIN10__cxxabiv120__function_type_infoE;
304     _ZTIN10__cxxabiv123__fundamental_type_infoE;
305     _ZTIN10__cxxabiv117__pbase_type_infoE;
306     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
307     _ZTIN10__cxxabiv119__pointer_type_infoE;
308     _ZTIN10__cxxabiv120__si_class_type_infoE;
309     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
311     # typeinfo name
312     _ZTS[a-z];
313     _ZTSP[a-z];
314     _ZTSPK[a-z];
315     _ZTSN10__cxxabiv117__array_type_infoE;
316     _ZTSN10__cxxabiv117__class_type_infoE;
317     _ZTSN10__cxxabiv116__enum_type_infoE;
318     _ZTSN10__cxxabiv120__function_type_infoE;
319     _ZTSN10__cxxabiv123__fundamental_type_infoE;
320     _ZTSN10__cxxabiv117__pbase_type_infoE;
321     _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
322     _ZTSN10__cxxabiv119__pointer_type_infoE;
323     _ZTSN10__cxxabiv120__si_class_type_infoE;
324     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
326     # __gnu_cxx::_verbose_terminate_handler()
327     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
329   local:
330     *;