OSDN Git Service

2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
[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, 2004 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::[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     };
74
75     # Names not in an 'extern' block are mangled names.
76
77     # operator new(size_t)
78     _Znw[jm];
79     # operator new(size_t, std::nothrow_t const&)
80     _Znw[jm]RKSt9nothrow_t;
81
82     # operator delete(void*)
83     _ZdlPv;
84     # operator delete(void*, std::nothrow_t const&)
85     _ZdlPvRKSt9nothrow_t;
86
87     # operator new[](size_t)
88     _Zna[jm];
89     # operator new[](size_t, std::nothrow_t const&)
90     _Zna[jm]RKSt9nothrow_t;
91
92     # operator delete[](void*)
93     _ZdaPv;
94     # operator delete[](void*, std::nothrow_t const&)
95     _ZdaPvRKSt9nothrow_t;
96
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*;
106
107     # std::ios_base, std::ios_base::Init destructors
108     _ZNSt8ios_baseD*;
109     _ZNSt8ios_base4InitD*;
110
111     # bool has_facet 
112     _ZSt9has_facet*;
113
114     # _Rb_tree
115     _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
116     _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
117     _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
118     _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
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     _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_;
124
125     # std::__codecvt_abstract_base*
126     _ZNStSt23__codecvt_abstract_base*;
127
128     # virtual table
129     _ZTVNSt8ios_base7failureE;
130     _ZTVNSt6locale5facetE;
131     _ZTVS[a-z];
132     _ZTVSt[0-9][A-Za-z]*;
133     _ZTVSt[0-9][0-9][A-Za-z]*;
134     _ZTVSt11__timepunctI[cw]E;
135     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
136     _ZTVSt21__ctype_abstract_baseI[cw]E;
137
138     # VTT structure
139     _ZTTS[a-z];
140     _ZTTSt[0-9][A-Za-z]*;
141     _ZTTSt[0-9][0-9][A-Za-z]*;
142
143     # typeinfo structure
144     _ZTIS[a-z];
145     _ZTINSt8ios_base7failureE;
146     _ZTINSt6locale5facetE;
147     _ZTISt[0-9][A-Za-z]*;
148     _ZTISt[0-9][0-9][A-Za-z]*;
149     _ZTISt11__timepunctI[cw]E;
150     _ZTISt10__num_base;
151     _ZTISt21__ctype_abstract_baseI[cw]E;
152     _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
153
154     # typeinfo name
155     _ZTSNSt8ios_base7failureE;
156     _ZTSNSt6locale5facetE;
157     _ZTSS[a-z];
158     _ZTSSt[0-9][A-Za-z]*;
159     _ZTSSt[0-9][0-9][A-Za-z]*;
160     _ZTSSt11__timepunctI[cw]E;
161     _ZTSSt10__num_base;
162     _ZTSSt21__ctype_abstract_baseI[cw]E;
163     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
164
165     # function-scope static objects requires a guard variable.
166     _ZGVNSt*;
167
168     # virtual function thunks
169     _ZThn8_NS*;
170     _ZThn16_NS*;
171     _ZTv0_n12_NS*;
172     _ZTv0_n24_NS*;
173
174     # std::__convert_to_v
175     _ZSt14__convert_to_v*;
176
177     # stub functions from libmath
178     sinf;
179     sinl;
180     sinhf;
181     sinhl;
182     cosf;
183     cosl;
184     coshf;
185     coshl;
186     tanf;
187     tanl;
188     tanhf;
189     tanhl;
190     atan2f;
191     atan2l;
192     expf;
193     expl;
194     hypotf;
195     hypotl;
196     hypot;
197     logf;
198     logl;
199     log10f;
200     log10l;
201     powf;
202     powl;
203     sqrtf;
204     sqrtl;
205     copysignf;
206     __signbit;
207     __signbitf;
208     __signbitl;
209
210     # __gnu_cxx::stdio_sync_filebuf
211     _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
212
213     # Needed only when generic cpu's atomicity.h is in use.
214     _ZN9__gnu_cxx17_Atomic_add_mutexE;
215     _ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
216     _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
217
218   # DO NOT DELETE THIS LINE.  Port-specific symbols, if any, will be here.
219
220   local:
221     *;
222 };
223
224
225 # Symbols in the support library (libsupc++) have their own tag.
226 CXXABI_1.3 {
227
228   global:
229     __cxa_allocate_exception;
230     __cxa_bad_cast;
231     __cxa_bad_typeid;
232     __cxa_begin_catch;
233     __cxa_call_unexpected;
234     __cxa_current_exception_type;
235     __cxa_demangle;
236     __cxa_end_catch;
237     __cxa_free_exception;
238     __cxa_get_globals;
239     __cxa_get_globals_fast;
240     __cxa_guard_abort;
241     __cxa_guard_acquire;
242     __cxa_guard_release;
243     __cxa_pure_virtual;
244     __cxa_rethrow;
245     __cxa_throw;
246     __cxa_vec_cctor;
247     __cxa_vec_cleanup;
248     __cxa_vec_ctor;
249     __cxa_vec_delete2;
250     __cxa_vec_delete3;
251     __cxa_vec_delete;
252     __cxa_vec_dtor;
253     __cxa_vec_new2;
254     __cxa_vec_new3;
255     __cxa_vec_new;
256     __gxx_personality_v0;
257     __gxx_personality_sj0;
258     __dynamic_cast;
259
260     # *_type_info classes, ctor and dtor
261     _ZN10__cxxabiv117__array_type_info*;
262     _ZN10__cxxabiv117__class_type_info*;
263     _ZN10__cxxabiv116__enum_type_info*;
264     _ZN10__cxxabiv120__function_type_info*;
265     _ZN10__cxxabiv123__fundamental_type_info*;
266     _ZN10__cxxabiv117__pbase_type_info*;
267     _ZN10__cxxabiv129__pointer_to_member_type_info*;
268     _ZN10__cxxabiv119__pointer_type_info*;
269     _ZN10__cxxabiv120__si_class_type_info*;
270     _ZN10__cxxabiv121__vmi_class_type_info*;
271
272     # *_type_info classes, member functions
273     _ZNK10__cxxabiv117__class_type_info*;
274     _ZNK10__cxxabiv120__function_type_info*;
275     _ZNK10__cxxabiv117__pbase_type_info*;
276     _ZNK10__cxxabiv129__pointer_to_member_type_info*;
277     _ZNK10__cxxabiv119__pointer_type_info*;
278     _ZNK10__cxxabiv120__si_class_type_info*;
279     _ZNK10__cxxabiv121__vmi_class_type_info*;
280
281     # virtual table
282     _ZTVN10__cxxabiv117__array_type_infoE;
283     _ZTVN10__cxxabiv117__class_type_infoE;
284     _ZTVN10__cxxabiv116__enum_type_infoE;
285     _ZTVN10__cxxabiv120__function_type_infoE;
286     _ZTVN10__cxxabiv123__fundamental_type_infoE;
287     _ZTVN10__cxxabiv117__pbase_type_infoE;
288     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
289     _ZTVN10__cxxabiv119__pointer_type_infoE;
290     _ZTVN10__cxxabiv120__si_class_type_infoE;
291     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
292
293     # typeinfo structure (and some names)
294     _ZTI[a-z];
295     _ZTIP[a-z];
296     _ZTIPK[a-z];
297     _ZTIN10__cxxabiv117__array_type_infoE;
298     _ZTIN10__cxxabiv117__class_type_infoE;
299     _ZTIN10__cxxabiv116__enum_type_infoE;
300     _ZTIN10__cxxabiv120__function_type_infoE;
301     _ZTIN10__cxxabiv123__fundamental_type_infoE;
302     _ZTIN10__cxxabiv117__pbase_type_infoE;
303     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
304     _ZTIN10__cxxabiv119__pointer_type_infoE;
305     _ZTIN10__cxxabiv120__si_class_type_infoE;
306     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
307
308     # typeinfo name
309     _ZTS[a-z];
310     _ZTSP[a-z];
311     _ZTSPK[a-z];
312     _ZTSN10__cxxabiv117__array_type_infoE;
313     _ZTSN10__cxxabiv117__class_type_infoE;
314     _ZTSN10__cxxabiv116__enum_type_infoE;
315     _ZTSN10__cxxabiv120__function_type_infoE;
316     _ZTSN10__cxxabiv123__fundamental_type_infoE;
317     _ZTSN10__cxxabiv117__pbase_type_infoE;
318     _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
319     _ZTSN10__cxxabiv119__pointer_type_infoE;
320     _ZTSN10__cxxabiv120__si_class_type_infoE;
321     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
322
323     # __gnu_cxx::_verbose_terminate_handler()
324     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
325
326   local:
327     *;
328 };