OSDN Git Service

2002-11-25 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / config / linker-map.gnu
1 ## Linker script for GNU ld 2.11.94+ only.
2 ##
3 ## Copyright (C) 2002 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 GLIBCPP_3.2 {
24
25   global:
26
27     # Names inside the 'extern' block are demangled names.
28     # All but the last are terminated with a semicolon.
29     extern "C++"
30     {
31       std::[A-Za]*;
32       std::ba[a-r]*;
33       std::basic_[a-r]*;
34       std::basic_streambuf*;
35       std::basic_stringbuf*;
36       std::basic_stringstream*;
37       std::basic_[t-z]*;
38       std::ba[t-z]*;
39       std::b[b-z]*;
40       std::c[a-n]*;
41       std::co[a-c]*;
42       std::codecvt_byname*;
43       std::codecvt::[A-Za-b]*;
44       std::codecvt::[A-Zd-z]*;
45       std::codecvt_c;
46       std::codecvt_w;
47       std::co[e-z]*;
48       std::c[p-z]*;
49       std::c_[a-z]*;    
50       std::[A-Zd-k]*;
51       std::length_error*;
52       std::logic_error*;
53       std::locale::[A-Za-z]*;
54       std::locale::_[A-Ra-z]*;
55       std::locale::_S_classic;
56       std::locale::_S_global;
57       std::locale::_S_num_categories;
58       std::locale::_S_normalize_category*;
59       std::locale::_[T-Za-z]*;
60       std::[A-Zm-z]*;
61       std::__throw_*;
62       std::__basic_file*;
63       std::__num_base*;
64       std::__timepunct*;
65       std::__numeric_limits_base*;
66       std::_S_bit_count;
67       std::_S_first_one
68     };
69
70     # Names not in an 'extern' block are mangled names.
71
72     # std::string minus binary operator plus
73     _ZNKSs*;
74     _ZNKSb*;
75     _ZNSs[A-Za-z]*;
76     _ZNSs[0-9][A-Za-z]*;
77     _ZNSs[0-9][0-9][A-Za-z]*;
78     _ZNSs[0-9]_[A-Ra-z]*;
79     _ZNSs[0-9][0-9]_[A-Ra-z]*;
80     _ZNSs12_S_empty_repEv;
81     _ZNSs20_S_empty_rep_storageE;
82     _ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE;
83     _ZNSs12_S_constructE*;
84     _ZNSs13_S_copy_charsE*;
85     _ZNSbIwSt11char_traitsIwESaIwEE[A-Ra-z]*;
86     _ZNSbIwSt11char_traitsIwESaIwEE[0-9][A-Ra-z]*;
87     _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9][A-Ra-z]*;
88     _ZNSbIwSt11char_traitsIwESaIwEE[0-9]_[A-Ra-z]*;
89     _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_[A-Ra-z]*;
90     _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*;
91     _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_;
92     _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv;
93     _ZSt24__uninitialized_copy_auxIN9*;
94     _ZSt26__uninitialized_fill_n_aux*;
95     _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_;
96     _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_;
97     _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_;
98     _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_;
99
100     # std::locale destructors
101     _ZNSt6localeD*;
102          
103     # std::codecvt<char> members.
104     _ZNKSt7codecvtIcc11__mbstate_tE*;
105     # std::codecvt<char>::~codecvt
106     _ZNSt7codecvtIcc11__mbstate_tED*;
107     # std::codecvt<char>::codecvt(size_t), where size_t variable.
108     _ZNSt7codecvtIcc11__mbstate_tEC[12]E[jm];
109     # std::codecvt<char>::id
110     _ZNSt7codecvtIcc11__mbstate_tE2idE;
111
112     # std::codecvt<wchar_t> members.
113     _ZNKSt7codecvtIwc11__mbstate_tE*;
114     # std::codecvt<wchar_t>::~codecvt
115     _ZNSt7codecvtIwc11__mbstate_tED*;
116     # std::codecvt<wchar_t>::codecvt(size_t), where size_t variable.
117     _ZNSt7codecvtIwc11__mbstate_tEC[12]E[jm];
118     # std::codecvt<wchar_t>::id
119     _ZNSt7codecvtIwc11__mbstate_tE2idE;
120
121      # std::use_facet<codecvt>
122     _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale;
123     _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale;
124
125     # std::has_facet*
126     _ZSt9has_facet*;
127
128     # std::__default_alloc_template
129     _ZNSt24__default_alloc_templateILb1ELi0EE10deallocate*;
130     _ZNSt24__default_alloc_templateILb1ELi0EE8allocate*;
131     _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE;
132     _ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE;
133     _ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillE*;
134
135     # std::__default_alloc_template to be removed in the future
136     _ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPv*;
137     _ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upE*;
138     _ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocE*;
139     _ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexE*;
140     _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
141     _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
142     _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
143     _ZNSt24__default_alloc_templateILb1ELi0EE5_Lock*;
144
145     # operator new(unsigned)
146     _Znwj;
147     # operator new(unsigned, std::nothrow_t const&)
148     _ZnwjRKSt9nothrow_t;
149     # operator new(unsigned long)
150     _Znwm;
151     # operator new(unsigned long, std::nothrow_t const&)
152     _ZnwmRKSt9nothrow_t;
153
154     # operator delete(void*)
155     _ZdlPv;
156     # operator delete(void*, std::nothrow_t const&)
157     _ZdlPvRKSt9nothrow_t;
158
159     # operator new[](unsigned)
160     _Znaj;
161     # operator new[](unsigned, std::nothrow_t const&)
162     _ZnajRKSt9nothrow_t;
163     # operator new[](unsigned long)
164     _Znam;
165     # operator new[](unsigned long, std::nothrow_t const&)
166     _ZnamRKSt9nothrow_t;
167
168     # operator delete[](void*)
169     _ZdaPv;
170     # operator delete[](void*, std::nothrow_t const&)
171     _ZdaPvRKSt9nothrow_t;
172
173     # vtable
174     _ZTV*;
175     _ZTT*;
176
177     # typeinfo
178     _ZTI*;
179     _ZTS*;
180
181     # function-scope static objects requires a guard variable.
182     _ZGV*;
183
184     # virtual function thunks
185     _ZTh*;
186     _ZTv*;
187     _ZTc*;
188
189     # std::__convert_to_v
190     _ZSt14__convert_to_v*;
191
192   local:
193     *;
194 };
195
196 # Symbols added after GLIBCPP_3.2
197 GLIBCPP_3.2.1 {
198
199   _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj;
200   _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj;
201   _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj;
202   _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj;
203
204   _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_;
205   _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_;
206
207   _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
208
209   # stub functions from libmath
210   sinf;
211   sinl;
212   sinhf;
213   sinhl;
214   cosf;
215   cosl;
216   coshf;
217   coshl;
218   tanf;
219   tanl;
220   tanhf;
221   tanhl;
222   atan2f;
223   atan2l;
224   expf;
225   expl;
226   hypotf;
227   hypotl;
228   hypot;
229   logf;
230   logl;
231   log10f;
232   log10l;
233   powf;
234   powl;
235   sqrtf;
236   sqrtl;
237   copysignf;
238   nan;
239   __signbit;
240   __signbitf;
241   __signbitl;
242
243 } GLIBCPP_3.2;
244
245 # Symbols in the support library (libsupc++) have their own tag.
246 CXXABI_1.2 {
247
248   global:
249     __cxa_allocate_exception;
250     __cxa_bad_cast;
251     __cxa_bad_typeid;
252     __cxa_begin_catch;
253     __cxa_call_unexpected;
254     __cxa_current_exception_type;
255     __cxa_demangle;
256     __cxa_dyn_string_append_char;
257     __cxa_dyn_string_append_cstr;
258     __cxa_dyn_string_append;
259     __cxa_dyn_string_clear;
260     __cxa_dyn_string_copy_cstr;
261     __cxa_dyn_string_copy;
262     __cxa_dyn_string_delete;
263     __cxa_dyn_string_eq;
264     __cxa_dyn_string_init;
265     __cxa_dyn_string_insert_char;
266     __cxa_dyn_string_insert_cstr;
267     __cxa_dyn_string_insert;
268     __cxa_dyn_string_new;
269     __cxa_dyn_string_prepend_cstr;
270     __cxa_dyn_string_prepend;
271     __cxa_dyn_string_release;
272     __cxa_dyn_string_resize;
273     __cxa_dyn_string_substring;
274     __cxa_end_catch;
275     __cxa_free_exception;
276     __cxa_get_globals;
277     __cxa_get_globals_fast;
278     __cxa_pure_virtual;
279     __cxa_rethrow;
280     __cxa_throw;
281     __cxa_vec_cctor;
282     __cxa_vec_cleanup;
283     __cxa_vec_ctor;
284     __cxa_vec_delete2;
285     __cxa_vec_delete3;
286     __cxa_vec_delete;
287     __cxa_vec_dtor;
288     __cxa_vec_new2;
289     __cxa_vec_new3;
290     __cxa_vec_new;
291     __gxx_personality_v0;
292     __gxx_personality_sj0;
293     __dynamic_cast;
294
295     # __gnu_cxx::_verbose_terminate_handler()
296     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
297
298   local:
299     *;
300 };
301
302 # Symbols added after CXXABI_1.2
303 CXXABI_1.2.1 {
304
305     __cxa_guard_acquire;
306     __cxa_guard_release;
307     __cxa_guard_abort;
308
309 } CXXABI_1.2;