OSDN Git Service

PR libstdc++/14098
[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     _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
154
155     # typeinfo name
156     _ZTSNSt8ios_base7failureE;
157     _ZTSNSt6locale5facetE;
158     _ZTSS[a-z];
159     _ZTSSt[0-9][A-Za-z]*;
160     _ZTSSt[0-9][0-9][A-Za-z]*;
161     _ZTSSt11__timepunctI[cw]E;
162     _ZTSSt10__num_base;
163     _ZTSSt21__ctype_abstract_baseI[cw]E;
164     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
165     _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
166
167     # function-scope static objects requires a guard variable.
168     _ZGVNSt*;
169
170     # virtual function thunks
171     _ZThn8_NS*;
172     _ZThn16_NS*;
173     _ZTv0_n12_NS*;
174     _ZTv0_n24_NS*;
175
176     # std::__convert_to_v
177     _ZSt14__convert_to_v*;
178
179     # stub functions from libmath
180     sinf;
181     sinl;
182     sinhf;
183     sinhl;
184     cosf;
185     cosl;
186     coshf;
187     coshl;
188     tanf;
189     tanl;
190     tanhf;
191     tanhl;
192     atan2f;
193     atan2l;
194     expf;
195     expl;
196     hypotf;
197     hypotl;
198     hypot;
199     logf;
200     logl;
201     log10f;
202     log10l;
203     powf;
204     powl;
205     sqrtf;
206     sqrtl;
207     copysignf;
208     __signbit;
209     __signbitf;
210     __signbitl;
211
212     # __gnu_cxx::stdio_sync_filebuf
213     _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
214
215     # Needed only when generic cpu's atomicity.h is in use.
216     _ZN9__gnu_cxx17_Atomic_add_mutexE;
217     _ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
218     _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
219
220   # DO NOT DELETE THIS LINE.  Port-specific symbols, if any, will be here.
221
222   local:
223     *;
224 };
225
226
227 # Symbols in the support library (libsupc++) have their own tag.
228 CXXABI_1.3 {
229
230   global:
231     __cxa_allocate_exception;
232     __cxa_bad_cast;
233     __cxa_bad_typeid;
234     __cxa_begin_catch;
235     __cxa_call_unexpected;
236     __cxa_current_exception_type;
237     __cxa_demangle;
238     __cxa_end_catch;
239     __cxa_free_exception;
240     __cxa_get_globals;
241     __cxa_get_globals_fast;
242     __cxa_guard_abort;
243     __cxa_guard_acquire;
244     __cxa_guard_release;
245     __cxa_pure_virtual;
246     __cxa_rethrow;
247     __cxa_throw;
248     __cxa_vec_cctor;
249     __cxa_vec_cleanup;
250     __cxa_vec_ctor;
251     __cxa_vec_delete2;
252     __cxa_vec_delete3;
253     __cxa_vec_delete;
254     __cxa_vec_dtor;
255     __cxa_vec_new2;
256     __cxa_vec_new3;
257     __cxa_vec_new;
258     __gxx_personality_v0;
259     __gxx_personality_sj0;
260     __dynamic_cast;
261
262     # *_type_info classes, ctor and dtor
263     _ZN10__cxxabiv117__array_type_info*;
264     _ZN10__cxxabiv117__class_type_info*;
265     _ZN10__cxxabiv116__enum_type_info*;
266     _ZN10__cxxabiv120__function_type_info*;
267     _ZN10__cxxabiv123__fundamental_type_info*;
268     _ZN10__cxxabiv117__pbase_type_info*;
269     _ZN10__cxxabiv129__pointer_to_member_type_info*;
270     _ZN10__cxxabiv119__pointer_type_info*;
271     _ZN10__cxxabiv120__si_class_type_info*;
272     _ZN10__cxxabiv121__vmi_class_type_info*;
273
274     # *_type_info classes, member functions
275     _ZNK10__cxxabiv117__class_type_info*;
276     _ZNK10__cxxabiv120__function_type_info*;
277     _ZNK10__cxxabiv117__pbase_type_info*;
278     _ZNK10__cxxabiv129__pointer_to_member_type_info*;
279     _ZNK10__cxxabiv119__pointer_type_info*;
280     _ZNK10__cxxabiv120__si_class_type_info*;
281     _ZNK10__cxxabiv121__vmi_class_type_info*;
282
283     # virtual table
284     _ZTVN10__cxxabiv117__array_type_infoE;
285     _ZTVN10__cxxabiv117__class_type_infoE;
286     _ZTVN10__cxxabiv116__enum_type_infoE;
287     _ZTVN10__cxxabiv120__function_type_infoE;
288     _ZTVN10__cxxabiv123__fundamental_type_infoE;
289     _ZTVN10__cxxabiv117__pbase_type_infoE;
290     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
291     _ZTVN10__cxxabiv119__pointer_type_infoE;
292     _ZTVN10__cxxabiv120__si_class_type_infoE;
293     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
294
295     # typeinfo structure (and some names)
296     _ZTI[a-z];
297     _ZTIP[a-z];
298     _ZTIPK[a-z];
299     _ZTIN10__cxxabiv117__array_type_infoE;
300     _ZTIN10__cxxabiv117__class_type_infoE;
301     _ZTIN10__cxxabiv116__enum_type_infoE;
302     _ZTIN10__cxxabiv120__function_type_infoE;
303     _ZTIN10__cxxabiv123__fundamental_type_infoE;
304     _ZTIN10__cxxabiv117__pbase_type_infoE;
305     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
306     _ZTIN10__cxxabiv119__pointer_type_infoE;
307     _ZTIN10__cxxabiv120__si_class_type_infoE;
308     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
309
310     # typeinfo name
311     _ZTS[a-z];
312     _ZTSP[a-z];
313     _ZTSPK[a-z];
314     _ZTSN10__cxxabiv117__array_type_infoE;
315     _ZTSN10__cxxabiv117__class_type_infoE;
316     _ZTSN10__cxxabiv116__enum_type_infoE;
317     _ZTSN10__cxxabiv120__function_type_infoE;
318     _ZTSN10__cxxabiv123__fundamental_type_infoE;
319     _ZTSN10__cxxabiv117__pbase_type_infoE;
320     _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
321     _ZTSN10__cxxabiv119__pointer_type_infoE;
322     _ZTSN10__cxxabiv120__si_class_type_infoE;
323     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
324
325     # __gnu_cxx::_verbose_terminate_handler()
326     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
327
328   local:
329     *;
330 };