OSDN Git Service

PR libstdc++/14097
[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     _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
155
156     # typeinfo name
157     _ZTSNSt8ios_base7failureE;
158     _ZTSNSt6locale5facetE;
159     _ZTSS[a-z];
160     _ZTSSt[0-9][A-Za-z]*;
161     _ZTSSt[0-9][0-9][A-Za-z]*;
162     _ZTSSt11__timepunctI[cw]E;
163     _ZTSSt10__num_base;
164     _ZTSSt21__ctype_abstract_baseI[cw]E;
165     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
166     _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
167     _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
168
169     # function-scope static objects requires a guard variable.
170     _ZGVNSt*;
171
172     # virtual function thunks
173     _ZThn8_NS*;
174     _ZThn16_NS*;
175     _ZTv0_n12_NS*;
176     _ZTv0_n24_NS*;
177
178     # std::__convert_to_v
179     _ZSt14__convert_to_v*;
180
181     # stub functions from libmath
182     sinf;
183     sinl;
184     sinhf;
185     sinhl;
186     cosf;
187     cosl;
188     coshf;
189     coshl;
190     tanf;
191     tanl;
192     tanhf;
193     tanhl;
194     atan2f;
195     atan2l;
196     expf;
197     expl;
198     hypotf;
199     hypotl;
200     hypot;
201     logf;
202     logl;
203     log10f;
204     log10l;
205     powf;
206     powl;
207     sqrtf;
208     sqrtl;
209     copysignf;
210     __signbit;
211     __signbitf;
212     __signbitl;
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 };