OSDN Git Service

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