2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
[official-gcc.git] / libstdc++-v3 / config / linker-map.gnu
blob34470c4233b6a0b39f8e0be6e5e25c4d4328b40d
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.
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.
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.
23 GLIBCXX_3.4 {
25   global:
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-k]*;
32       std::length_error*;
33       std::logic_error*;
34       std::locale::[A-Za-e]*;
35       std::locale::facet::[A-Za-z]*;
36       std::locale::facet::_S_c_locale;  
37       std::locale::facet::_S_clone_c_locale*;
38       std::locale::facet::_S_create_c_locale*;
39       std::locale::facet::_S_destroy_c_locale*;
40       std::locale::[A-Zg-h]*;
41       std::locale::id::[A-Za-z]*;
42       std::locale::id::_S_highwater;
43       std::locale::[A-Zj-z]*;
44       std::locale::_[A-Ha-z]*;
45       std::locale::_Impl::[A-Za-z]*;
46       std::locale::_Impl::_M_[A-Za-z]*;
47       std::locale::_[J-Ra-z]*;
48       std::locale::_S_normalize_category*;
49       std::locale::_[T-Za-z]*;
50       std::[A-Zm-z]*;
51       std::__throw_*;
52       std::__basic_file*;
53       std::__timepunct*;
54       std::__numeric_limits_base*;
55       std::__num_base::_S_format_float*;
56       std::__num_base::_S_format_int*;
57       std::__num_base::_S_atoms_in;
58       std::__num_base::_S_atoms_out;
59       std::__numpunct_cache*
60     };
62     # Names not in an 'extern' block are mangled names.
64     # std::locale destructors
65     _ZNSt6localeD*;
66         
67     # std::locale::facet destructors
68     _ZNSt6locale5facetD*;
69          
70     # std::locale::_Impl constructors, destrutors
71     _ZNSt6locale5_ImplC*;
72     _ZNSt6locale5_ImplD*;
74     # bool has_facet 
75     _ZSt9has_facet*;
77     # virtual table
78     _ZTVNSt8ios_base7failureE;
79     _ZTVNSt6locale5facetE;
80     _ZTVS[a-z];
81     _ZTVSt[0-9][A-Za-z]*;
82     _ZTVSt[0-9][0-9][A-Za-z]*;
83     _ZTVSt11__timepunctI[cw]E;
84     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
85     _ZTVSt21__ctype_abstract_baseI[cw]E;
87     # VTT structure
88     _ZTTS[a-z];
89     _ZTTSt[0-9][A-Za-z]*;
90     _ZTTSt[0-9][0-9][A-Za-z]*;
92     # typeinfo structure
93     _ZTIS[a-z];
94     _ZTINSt8ios_base7failureE;
95     _ZTINSt6locale5facetE;
96     _ZTISt[0-9][A-Za-z]*;
97     _ZTISt[0-9][0-9][A-Za-z]*;
98     _ZTISt11__timepunctI[cw]E;
99     _ZTISt10__num_base;
100     _ZTISt21__ctype_abstract_baseI[cw]E;
101     _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
103     # typeinfo name
104     _ZTSNSt8ios_base7failureE;
105     _ZTSNSt6locale5facetE;
106     _ZTSS[a-z];
107     _ZTSSt[0-9][A-Za-z]*;
108     _ZTSSt[0-9][0-9][A-Za-z]*;
109     _ZTSSt11__timepunctI[cw]E;
110     _ZTSSt10__num_base;
111     _ZTSSt21__ctype_abstract_baseI[cw]E;
112     _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
114     # function-scope static objects requires a guard variable.
115     _ZGVNSt*;
117     # virtual function thunks
118     _ZThn8_NS*;
119     _ZThn16_NS*;
120     _ZTv0_n12_NS*;
121     _ZTv0_n24_NS*;
123     # std::__convert_to_v
124     _ZSt14__convert_to_v*;
126     # stub functions from libmath
127     sinf;
128     sinl;
129     sinhf;
130     sinhl;
131     cosf;
132     cosl;
133     coshf;
134     coshl;
135     tanf;
136     tanl;
137     tanhf;
138     tanhl;
139     atan2f;
140     atan2l;
141     expf;
142     expl;
143     hypotf;
144     hypotl;
145     hypot;
146     logf;
147     logl;
148     log10f;
149     log10l;
150     powf;
151     powl;
152     sqrtf;
153     sqrtl;
154     copysignf;
155     nan;
156     __signbit;
157     __signbitf;
158     __signbitl;
160     # __gnu_cxx::__pool_alloc
161     _ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateE[jm];
162     _ZN9__gnu_cxx12__pool_allocILb1ELi0EE10deallocateEPv[jm];
164     # __gnu_cxx::stdio_sync_filebuf
165     _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
167     # Needed only when generic cpu's atomicity.h is in use.
168     _ZN9__gnu_cxx17_Atomic_add_mutexE;
169     _ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
170     _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
172   local:
173     *;
177 # Symbols in the support library (libsupc++) have their own tag.
178 CXXABI_1.3 {
180   global:
181     __cxa_allocate_exception;
182     __cxa_bad_cast;
183     __cxa_bad_typeid;
184     __cxa_begin_catch;
185     __cxa_call_unexpected;
186     __cxa_current_exception_type;
187     __cxa_demangle;
188     __cxa_end_catch;
189     __cxa_free_exception;
190     __cxa_get_globals;
191     __cxa_get_globals_fast;
192     __cxa_guard_abort;
193     __cxa_guard_acquire;
194     __cxa_guard_release;
195     __cxa_pure_virtual;
196     __cxa_rethrow;
197     __cxa_throw;
198     __cxa_vec_cctor;
199     __cxa_vec_cleanup;
200     __cxa_vec_ctor;
201     __cxa_vec_delete2;
202     __cxa_vec_delete3;
203     __cxa_vec_delete;
204     __cxa_vec_dtor;
205     __cxa_vec_new2;
206     __cxa_vec_new3;
207     __cxa_vec_new;
208     __gxx_personality_v0;
209     __gxx_personality_sj0;
210     __dynamic_cast;
212     # operator new(size_t)
213     _Znw[jm];
214     # operator new(size_t, std::nothrow_t const&)
215     _Znw[jm]RKSt9nothrow_t;
217     # operator delete(void*)
218     _ZdlPv;
219     # operator delete(void*, std::nothrow_t const&)
220     _ZdlPvRKSt9nothrow_t;
222     # operator new[](size_t)
223     _Zna[jm];
224     # operator new[](size_t, std::nothrow_t const&)
225     _Zna[jm]RKSt9nothrow_t;
227     # operator delete[](void*)
228     _ZdaPv;
229     # operator delete[](void*, std::nothrow_t const&)
230     _ZdaPvRKSt9nothrow_t;
232     # virtual table
233     _ZTVN10__cxxabiv117__class_type_infoE;
234     _ZTVN10__cxxabiv120__si_class_type_infoE;
235     _ZTVN10__cxxabiv121__vmi_class_type_infoE;
236     _ZTVN10__cxxabiv123__fundamental_type_infoE;
237     _ZTVN10__cxxabiv117__array_type_infoE;
238     _ZTVN10__cxxabiv120__function_type_infoE;
239     _ZTVN10__cxxabiv116__enum_type_infoE;
240     _ZTVN10__cxxabiv117__pbase_type_infoE;
241     _ZTVN10__cxxabiv119__pointer_type_infoE;
242     _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
244     # typeinfo structure (and some names)
245     _ZTI[a-z];
246     _ZTIP[a-z];
247     _ZTIPK[a-z];
248     _ZTIN10__cxxabiv117__class_type_infoE;
249     _ZTIN10__cxxabiv120__si_class_type_infoE;
250     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
251     _ZTIN10__cxxabiv123__fundamental_type_infoE;
252     _ZTIN10__cxxabiv117__array_type_infoE;
253     _ZTIN10__cxxabiv120__function_type_infoE;
254     _ZTIN10__cxxabiv116__enum_type_infoE;
255     _ZTIN10__cxxabiv117__pbase_type_infoE;
256     _ZTIN10__cxxabiv119__pointer_type_infoE;
257     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
259     # typeinfo name
260     _ZTS[a-z];
261     _ZTSP[a-z];
262     _ZTSPK[a-z];
264     # __gnu_cxx::_verbose_terminate_handler()
265     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
267   local:
268     *;