OSDN Git Service

2003-03-04 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, 2003 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.4 {
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::[A-Zc-k]*;
41       std::length_error*;
42       std::logic_error*;
43       std::locale::[A-Za-e]*;
44       std::locale::facet::[A-Za-z]*;
45       std::locale::facet::_S_c_locale;  
46       std::locale::facet::_S_clone_c_locale*;
47       std::locale::facet::_S_create_c_locale*;
48       std::locale::facet::_S_destroy_c_locale*;
49       std::locale::[A-Zg-h]*;
50       std::locale::id::[A-Za-z]*;
51       std::locale::id::_S_highwater;
52       std::locale::[A-Zj-z]*;
53       std::locale::_[A-Ha-z]*;
54       std::locale::_Impl::[A-Za-z]*;
55       std::locale::_Impl::_M_[A-Za-z]*;
56       std::locale::_[J-Ra-z]*;
57       std::locale::_S_normalize_category*;
58       std::locale::_[T-Za-z]*;
59       std::[A-Zm-z]*;
60       std::__throw_*;
61       std::__basic_file*;
62       std::__timepunct*;
63       std::__numeric_limits_base*;
64       std::__num_base::_S_format_float*;
65       std::__num_base::_S_format_int*;
66       std::__num_base::_S_atoms_in;
67       std::__num_base::_S_atoms_out;
68       
69       # Needed only when generic cpu's atomicity.h is in use.
70       __gnu_cxx::_Atomic_add_mutex;
71       __gnu_cxx::_Atomic_add_mutex_once;
72       __gnu_cxx::__gthread_atomic_add_mutex_once
73     };
74
75     # Names not in an 'extern' block are mangled names.
76
77     # std::locale destructors
78     _ZNSt6localeD*;
79         
80     # std::locale::facet destructors
81     _ZNSt6locale5facetD*;
82          
83     # std::locale::_Impl constructors, destrutors
84     _ZNSt6locale5_ImplC*;
85     _ZNSt6locale5_ImplD*;
86
87     # bool has_facet 
88     _ZSt9has_facet*;
89
90     # std::string, std::wstring minus static data members
91     _ZNKS[sb]*;
92     _ZNS[sb]D*;
93     _ZNS[sb]C*;
94     _ZStplI[cw]St11char_traitsI[cw]ESaI[cw]EESbIT_T0_T1_EPKS3_RKS6_;
95     _ZStplI[cw]St11char_traitsI[cw]ESaI[cw]EESbIT_T0_T1_ES3_RKS6_;
96     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE[A-Ra-z]*;
97     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][A-Ra-z]*;
98     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9][A-Ra-z]*;
99     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_[A-Ra-z]*;
100     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9]_[A-Ra-z]*;
101     _ZNS[sb]I[cw]St11char_traitsI[cw]ESaI[cw]EE20_S_empty_rep_storageE;
102
103     # std::__pool_alloc
104     _ZNSt12__pool_allocILb1ELi0EE10deallocateEPv[jm]*;
105     _ZNSt12__pool_allocILb1ELi0EE8allocateE[jm]*;
106     _ZNSt12__pool_allocILb1ELi0EE5_Lock*;
107     _ZNSt12__pool_allocILb1ELi0EE12_S_force_newE;
108     _ZNSt12__pool_allocILb1ELi0EE12_S_free_listE;
109     _ZNSt12__pool_allocILb1ELi0EE7_S_lockE;
110     _ZNSt12__pool_allocILb1ELi0EE9_S_refillE[jm];
111
112     # operator new(size_t)
113     _Znw[jm];
114     # operator new(size_t, std::nothrow_t const&)
115     _Znw[jm]RKSt9nothrow_t;
116
117     # operator delete(void*)
118     _ZdlPv;
119     # operator delete(void*, std::nothrow_t const&)
120     _ZdlPvRKSt9nothrow_t;
121
122     # operator new[](size_t)
123     _Zna[jm];
124     # operator new[](size_t, std::nothrow_t const&)
125     _Zna[jm]RKSt9nothrow_t;
126
127     # operator delete[](void*)
128     _ZdaPv;
129     # operator delete[](void*, std::nothrow_t const&)
130     _ZdaPvRKSt9nothrow_t;
131
132     # vtable
133     _ZTVN9__gnu_cxx*;
134     _ZTVNSt8ios_base7failureE;
135     _ZTVNSt6locale5facetE;
136     _ZTVS[a-z];
137     _ZTVSt[0-9][A-Za-z]*;
138     _ZTVSt[0-9][0-9][A-Za-z]*;
139     _ZTVSt11__timepunctI[cw]E;
140     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
141     _ZTVSt21__ctype_abstract_baseI[cw]E;
142
143     _ZTTS[a-z];
144     _ZTTSt[0-9][A-Za-z]*;
145     _ZTTSt[0-9][0-9][A-Za-z]*;
146
147     # typeinfo
148     _ZTI[a-z];
149     _ZTINSt8ios_base7failureE;
150     _ZTINSt6locale5facetE;
151     _ZTIN9__gnu_cxx*;
152     _ZTIP[a-z];
153     _ZTIPK[a-z];
154     _ZTIS[a-z];
155     _ZTISt[0-9][A-Za-z]*;
156     _ZTISt[0-9][0-9][A-Za-z]*;
157     _ZTISt11__timepunctI[cw]E;
158     _ZTISt10__num_base;
159     _ZTISt21__ctype_abstract_baseI[cw]E;
160     _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
161
162     _ZTS[a-z];
163     _ZTSNSt8ios_base7failureE;
164     _ZTSNSt6locale5facetE;
165     _ZTSN9__gnu_cxx*;
166     _ZTSP[a-z];
167     _ZTSPK[a-z];
168     _ZTSS[a-z];
169     _ZTSSt[0-9][A-Za-z]*;
170     _ZTSSt[0-9][0-9][A-Za-z]*;
171     _ZTSSt11__timepunctI[cw]E;
172     _ZTSSt10__num_base;
173     _ZTSSt21__ctype_abstract_baseI[cw]E;
174     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
175
176     # function-scope static objects requires a guard variable.
177     _ZGV*;
178
179     # virtual function thunks
180     _ZTh*;
181     _ZTv*;
182     _ZTc*;
183
184     # std::__convert_to_v
185     _ZSt14__convert_to_v*;
186
187     # stub functions from libmath
188     sinf;
189     sinl;
190     sinhf;
191     sinhl;
192     cosf;
193     cosl;
194     coshf;
195     coshl;
196     tanf;
197     tanl;
198     tanhf;
199     tanhl;
200     atan2f;
201     atan2l;
202     expf;
203     expl;
204     hypotf;
205     hypotl;
206     hypot;
207     logf;
208     logl;
209     log10f;
210     log10l;
211     powf;
212     powl;
213     sqrtf;
214     sqrtl;
215     copysignf;
216     nan;
217     __signbit;
218     __signbitf;
219     __signbitl;
220
221   local:
222     *;
223 };
224
225
226 # Symbols in the support library (libsupc++) have their own tag.
227 CXXABI_1.3 {
228
229   global:
230     __cxa_allocate_exception;
231     __cxa_bad_cast;
232     __cxa_bad_typeid;
233     __cxa_begin_catch;
234     __cxa_call_unexpected;
235     __cxa_current_exception_type;
236     __cxa_demangle;
237     __cxa_end_catch;
238     __cxa_free_exception;
239     __cxa_get_globals;
240     __cxa_get_globals_fast;
241     __cxa_guard_abort;
242     __cxa_guard_acquire;
243     __cxa_guard_release;
244     __cxa_pure_virtual;
245     __cxa_rethrow;
246     __cxa_throw;
247     __cxa_vec_cctor;
248     __cxa_vec_cleanup;
249     __cxa_vec_ctor;
250     __cxa_vec_delete2;
251     __cxa_vec_delete3;
252     __cxa_vec_delete;
253     __cxa_vec_dtor;
254     __cxa_vec_new2;
255     __cxa_vec_new3;
256     __cxa_vec_new;
257     __gxx_personality_v0;
258     __gxx_personality_sj0;
259     __dynamic_cast;
260
261     # __gnu_cxx::_verbose_terminate_handler()
262     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
263
264     # typeinfo
265     _ZTIN10__cxxabi*;
266     _ZTSN10__cxxabi*;
267
268     # vtable
269     _ZTVN10__cxxabi*;
270
271   local:
272     *;
273 };