Import of virgin gcc 4.0.0 distribution.
[dragonfly.git] / contrib / gcc-4.0 / 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::_List_node_base::hook*;
59       std::_List_node_base::swap*;
60       std::_List_node_base::unhook*;
61       std::_List_node_base::reverse*;
62       std::_List_node_base::transfer*;
63       std::__throw_*;
64       std::__timepunct*;
65       std::__numeric_limits_base*;
66       std::__num_base::_S_format_float*;
67       std::__num_base::_S_format_int*;
68       std::__num_base::_S_atoms_in;
69       std::__num_base::_S_atoms_out;
70       std::__moneypunct_cache*;
71       std::__numpunct_cache*;
72       std::__timepunct_cache*;
73       __gnu_debug::_Safe_iterator_base*;
74       __gnu_debug::_Safe_sequence_base*;
75       __gnu_debug::_Error_formatter*;
76       __gnu_norm::_List_node_base::hook*;
77       __gnu_norm::_List_node_base::swap*;
78       __gnu_norm::_List_node_base::unhook*;
79       __gnu_norm::_List_node_base::reverse*;
80       __gnu_norm::_List_node_base::transfer*
81     };
82
83     # Names not in an 'extern' block are mangled names.
84
85     # operator new(size_t)
86     _Znw[jm];
87     # operator new(size_t, std::nothrow_t const&)
88     _Znw[jm]RKSt9nothrow_t;
89
90     # operator delete(void*)
91     _ZdlPv;
92     # operator delete(void*, std::nothrow_t const&)
93     _ZdlPvRKSt9nothrow_t;
94
95     # operator new[](size_t)
96     _Zna[jm];
97     # operator new[](size_t, std::nothrow_t const&)
98     _Zna[jm]RKSt9nothrow_t;
99
100     # operator delete[](void*)
101     _ZdaPv;
102     # operator delete[](void*, std::nothrow_t const&)
103     _ZdaPvRKSt9nothrow_t;
104
105     # std::basic_iostream constructors, destructors
106     _ZNSdC*;
107     _ZNSdD*;
108
109     # std::locale destructors
110     _ZNSt6localeD*;
111         
112     # std::locale::facet destructors
113     _ZNSt6locale5facetD*;
114          
115     # std::locale::_Impl constructors, destructors
116     _ZNSt6locale5_ImplC*;
117     _ZNSt6locale5_ImplD*;
118
119     # std::ios_base, std::ios_base::Init destructors
120     _ZNSt8ios_baseD*;
121     _ZNSt8ios_base4InitD*;
122
123     # bool has_facet 
124     _ZSt9has_facet*;
125
126     # _Rb_tree
127     _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
128     _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
129     _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
130     _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
131     _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_;
132     _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_;
133     _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
134     _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
135     _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_;
136
137     # std::__basic_file
138     _ZNKSt12__basic_fileIcE7is_openEv;
139     _ZNSt12__basic_fileIcE2fdEv;
140     _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei;
141     _ZNSt12__basic_fileIcE4syncEv;
142     _ZNSt12__basic_fileIcE5closeEv;
143     _ZNSt12__basic_fileIcE6xsgetn*;
144     _ZNSt12__basic_fileIcE6xsputn*;
145     _ZNSt12__basic_fileIcE7seekoff*;
146     _ZNSt12__basic_fileIcE8sys_openE*St13_Ios_Openmode;
147     _ZNSt12__basic_fileIcE8xsputn_2*;
148     _ZNSt12__basic_fileIcE9showmanycEv;
149     _ZNSt12__basic_fileIcEC*;
150     _ZNSt12__basic_fileIcED*;
151
152     # virtual table
153     _ZTVNSt8ios_base7failureE;
154     _ZTVNSt6locale5facetE;
155     _ZTVS[a-z];
156     _ZTVSt[0-9][A-Za-z]*;
157     _ZTVSt[0-9][0-9][A-Za-z]*;
158     _ZTVSt11__timepunctI[cw]E;
159     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
160     _ZTVSt21__ctype_abstract_baseI[cw]E;
161
162     # VTT structure
163     _ZTTS[a-z];
164     _ZTTSt[0-9][A-Za-z]*;
165     _ZTTSt[0-9][0-9][A-Za-z]*;
166
167     # typeinfo structure
168     _ZTIS[a-z];
169     _ZTINSt8ios_base7failureE;
170     _ZTINSt6locale5facetE;
171     _ZTISt[0-9][A-Za-z]*;
172     _ZTISt[0-9][0-9][A-Za-z]*;
173     _ZTISt11__timepunctI[cw]E;
174     _ZTISt10__num_base;
175     _ZTISt21__ctype_abstract_baseI[cw]E;
176     _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
177     _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
178     _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
179
180     # typeinfo name
181     _ZTSNSt8ios_base7failureE;
182     _ZTSNSt6locale5facetE;
183     _ZTSS[a-z];
184     _ZTSSt[0-9][A-Za-z]*;
185     _ZTSSt[0-9][0-9][A-Za-z]*;
186     _ZTSSt11__timepunctI[cw]E;
187     _ZTSSt10__num_base;
188     _ZTSSt21__ctype_abstract_baseI[cw]E;
189     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
190     _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
191     _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
192
193     # function-scope static objects requires a guard variable.
194     _ZGVNSt*;
195
196     # virtual function thunks
197     _ZThn8_NS*;
198     _ZThn16_NS*;
199     _ZTv0_n12_NS*;
200     _ZTv0_n24_NS*;
201
202     # std::__convert_to_v
203     _ZSt14__convert_to_v*;
204
205     # stub functions from libmath
206     sinf;
207     sinl;
208     sinhf;
209     sinhl;
210     cosf;
211     cosl;
212     coshf;
213     coshl;
214     tanf;
215     tanl;
216     tanhf;
217     tanhl;
218     atan2f;
219     atan2l;
220     expf;
221     expl;
222     hypotf;
223     hypotl;
224     hypot;
225     logf;
226     logl;
227     log10f;
228     log10l;
229     powf;
230     powl;
231     sqrtf;
232     sqrtl;
233     copysignf;
234     __signbit;
235     __signbitf;
236     __signbitl;
237
238     # __gnu_cxx::stdio_sync_filebuf
239     _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
240
241     # __gnu_cxx::__atomic_add
242     # __gnu_cxx::__exchange_and_add
243     _ZN9__gnu_cxx12__atomic_add*;
244     _ZN9__gnu_cxx18__exchange_and_add*;
245
246   # DO NOT DELETE THIS LINE.  Port-specific symbols, if any, will be here.
247
248   local:
249     *;
250 };
251
252 GLIBCXX_3.4.1 {
253  
254     _ZNSt12__basic_fileIcE4fileEv;
255  
256 } GLIBCXX_3.4;
257  
258 GLIBCXX_3.4.2 {
259
260     _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4fileEv;
261
262     _ZN9__gnu_cxx17__pool_alloc_base9_M_refillE[jm];
263     _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listE[jm];
264     _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv;
265
266 } GLIBCXX_3.4.1;
267
268 GLIBCXX_3.4.3 {
269  
270     # stub functions from libmath
271     acosf;
272     acosl;
273     asinf;
274     asinl;
275     atanf;
276     atanl;
277     ceilf;
278     ceill;
279     floorf;
280     floorl;
281     fmodf;
282     fmodl;
283     frexpf;
284     frexpl;
285     ldexpf;
286     ldexpl;
287     modff;
288     modfl;
289
290 } GLIBCXX_3.4.2;
291
292 GLIBCXX_3.4.4 {
293
294     _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv;
295     _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE;
296     _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv;
297     _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv;
298     _ZN9__gnu_cxx6__poolILb[01]EE16_M_reserve_blockE[jm][jm];
299     _ZN9__gnu_cxx6__poolILb[01]EE16_M_reclaim_blockEPc[jm];
300     _ZN9__gnu_cxx6__poolILb[01]EE10_M_destroyEv;
301
302     _ZN9__gnu_cxx9free_list6_M_getE*;
303     _ZN9__gnu_cxx9free_list8_M_clearEv;
304
305 } GLIBCXX_3.4.3;
306
307 # Symbols in the support library (libsupc++) have their own tag.
308 CXXABI_1.3 {
309
310   global:
311     __cxa_allocate_exception;
312     __cxa_bad_cast;
313     __cxa_bad_typeid;
314     __cxa_begin_catch;
315     __cxa_call_unexpected;
316     __cxa_current_exception_type;
317     __cxa_demangle;
318     __cxa_end_catch;
319     __cxa_free_exception;
320     __cxa_get_globals;
321     __cxa_get_globals_fast;
322     __cxa_guard_abort;
323     __cxa_guard_acquire;
324     __cxa_guard_release;
325     __cxa_pure_virtual;
326     __cxa_rethrow;
327     __cxa_throw;
328     __cxa_vec_cctor;
329     __cxa_vec_cleanup;
330     __cxa_vec_ctor;
331     __cxa_vec_delete2;
332     __cxa_vec_delete3;
333     __cxa_vec_delete;
334     __cxa_vec_dtor;
335     __cxa_vec_new2;
336     __cxa_vec_new3;
337     __cxa_vec_new;
338     __gxx_personality_v0;
339     __gxx_personality_sj0;
340     __dynamic_cast;
341
342     # *_type_info classes, ctor and dtor
343     _ZN10__cxxabiv117__array_type_info*;
344     _ZN10__cxxabiv117__class_type_info*;
345     _ZN10__cxxabiv116__enum_type_info*;
346     _ZN10__cxxabiv120__function_type_info*;
347     _ZN10__cxxabiv123__fundamental_type_info*;
348     _ZN10__cxxabiv117__pbase_type_info*;
349     _ZN10__cxxabiv129__pointer_to_member_type_info*;
350     _ZN10__cxxabiv119__pointer_type_info*;
351     _ZN10__cxxabiv120__si_class_type_info*;
352     _ZN10__cxxabiv121__vmi_class_type_info*;
353
354     # *_type_info classes, member functions
355     _ZNK10__cxxabiv117__class_type_info*;
356     _ZNK10__cxxabiv120__function_type_info*;
357     _ZNK10__cxxabiv117__pbase_type_info*;
358     _ZNK10__cxxabiv129__pointer_to_member_type_info*;
359     _ZNK10__cxxabiv119__pointer_type_info*;
360     _ZNK10__cxxabiv120__si_class_type_info*;
361     _ZNK10__cxxabiv121__vmi_class_type_info*;
362
363     # virtual table
364     _ZTVN10__cxxabiv117__array_type_infoE;
365     _ZTVN10__cxxabiv117__class_type_infoE;
366     _ZTVN10__cxxabiv116__enum_type_infoE;
367     _ZTVN10__cxxabiv120__function_type_infoE;
368     _ZTVN10__cxxabiv123__fundamental_type_infoE;
369     _ZTVN10__cxxabiv117__pbase_type_infoE;
370     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
371     _ZTVN10__cxxabiv119__pointer_type_infoE;
372     _ZTVN10__cxxabiv120__si_class_type_infoE;
373     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
374
375     # typeinfo structure (and some names)
376     _ZTI[a-z];
377     _ZTIP[a-z];
378     _ZTIPK[a-z];
379     _ZTIN10__cxxabiv117__array_type_infoE;
380     _ZTIN10__cxxabiv117__class_type_infoE;
381     _ZTIN10__cxxabiv116__enum_type_infoE;
382     _ZTIN10__cxxabiv120__function_type_infoE;
383     _ZTIN10__cxxabiv123__fundamental_type_infoE;
384     _ZTIN10__cxxabiv117__pbase_type_infoE;
385     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
386     _ZTIN10__cxxabiv119__pointer_type_infoE;
387     _ZTIN10__cxxabiv120__si_class_type_infoE;
388     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
389
390     # typeinfo name
391     _ZTS[a-z];
392     _ZTSP[a-z];
393     _ZTSPK[a-z];
394     _ZTSN10__cxxabiv117__array_type_infoE;
395     _ZTSN10__cxxabiv117__class_type_infoE;
396     _ZTSN10__cxxabiv116__enum_type_infoE;
397     _ZTSN10__cxxabiv120__function_type_infoE;
398     _ZTSN10__cxxabiv123__fundamental_type_infoE;
399     _ZTSN10__cxxabiv117__pbase_type_infoE;
400     _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
401     _ZTSN10__cxxabiv119__pointer_type_infoE;
402     _ZTSN10__cxxabiv120__si_class_type_infoE;
403     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
404
405     # __gnu_cxx::_verbose_terminate_handler()
406     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
407
408   local:
409     *;
410 };
411
412 CXXABI_1.3.1 {
413
414     __cxa_get_exception_ptr;
415
416 } CXXABI_1.3;