]>
Commit | Line | Data |
---|---|---|
e6b7a69a | 1 | ## Linker script for GNU ld 2.13.91+ only. |
530539d9 | 2 | ## |
ba9d552e | 3 | ## Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. |
530539d9 PE |
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 | ||
3d7c150e | 23 | GLIBCXX_3.4 { |
530539d9 PE |
24 | |
25 | global: | |
26 | ||
0d223e3a | 27 | # Names inside the 'extern' block are demangled names. |
530539d9 PE |
28 | extern "C++" |
29 | { | |
5ec3f566 BK |
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]*; | |
5ec3f566 BK |
36 | std::ios_base::[J-Za-z]*; |
37 | std::i[p-z]*; | |
38 | std::[A-Zj-k]*; | |
a7817e1d BK |
39 | std::length_error*; |
40 | std::logic_error*; | |
1c26d8fd BK |
41 | std::locale::[A-Za-e]*; |
42 | std::locale::facet::[A-Za-z]*; | |
8ae81136 | 43 | std::locale::facet::_S_get_c_locale*; |
1c26d8fd BK |
44 | std::locale::facet::_S_clone_c_locale*; |
45 | std::locale::facet::_S_create_c_locale*; | |
46 | std::locale::facet::_S_destroy_c_locale*; | |
8099b2ae BK |
47 | std::locale::[A-Zg-h]*; |
48 | std::locale::id::[A-Za-z]*; | |
5aaa2108 | 49 | std::locale::id::_M_id*; |
8099b2ae BK |
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]*; | |
b0b12802 BK |
55 | std::locale::_S_normalize_category*; |
56 | std::locale::_[T-Za-z]*; | |
a7817e1d | 57 | std::[A-Zm-z]*; |
530539d9 PE |
58 | std::__throw_*; |
59 | std::__basic_file*; | |
84979344 | 60 | std::__timepunct*; |
3a24c513 | 61 | std::__numeric_limits_base*; |
3a15abf1 BK |
62 | std::__num_base::_S_format_float*; |
63 | std::__num_base::_S_format_int*; | |
64 | std::__num_base::_S_atoms_in; | |
215f9e28 | 65 | std::__num_base::_S_atoms_out; |
fea4065d BK |
66 | std::__moneypunct_cache*; |
67 | std::__numpunct_cache*; | |
285b36d6 BK |
68 | std::__timepunct_cache*; |
69 | __gnu_norm::*; | |
70 | __gnu_debug::_Safe_iterator_base*; | |
71 | __gnu_debug::_Safe_sequence_base*; | |
72 | __gnu_debug::_Error_formatter* | |
530539d9 PE |
73 | }; |
74 | ||
0d223e3a | 75 | # Names not in an 'extern' block are mangled names. |
6dc5fdfd | 76 | |
5aaa2108 BK |
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 | ||
b0b12802 | 97 | # std::locale destructors |
a7817e1d | 98 | _ZNSt6localeD*; |
1c26d8fd BK |
99 | |
100 | # std::locale::facet destructors | |
101 | _ZNSt6locale5facetD*; | |
b0b12802 | 102 | |
285b36d6 | 103 | # std::locale::_Impl constructors, destructors |
8099b2ae BK |
104 | _ZNSt6locale5_ImplC*; |
105 | _ZNSt6locale5_ImplD*; | |
a7817e1d | 106 | |
5ec3f566 BK |
107 | # std::ios_base, std::ios_base::Init destructors |
108 | _ZNSt8ios_baseD*; | |
109 | _ZNSt8ios_base4InitD*; | |
110 | ||
8099b2ae | 111 | # bool has_facet |
41b4d44b | 112 | _ZSt9has_facet*; |
e38ff265 | 113 | |
ca1c7011 | 114 | # _Rb_tree |
e135a038 | 115 | _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base; |
b4c70e89 | 116 | _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base; |
e135a038 | 117 | _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base; |
b4c70e89 | 118 | _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base; |
b4c70e89 | 119 | _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_; |
ca1c7011 GB |
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_; | |
e135a038 | 123 | _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_; |
ca1c7011 | 124 | |
5aaa2108 BK |
125 | # std::__codecvt_abstract_base* |
126 | _ZNStSt23__codecvt_abstract_base*; | |
127 | ||
c37514ff | 128 | # virtual table |
4e7a2c6f BK |
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 | ||
c37514ff | 138 | # VTT structure |
4e7a2c6f BK |
139 | _ZTTS[a-z]; |
140 | _ZTTSt[0-9][A-Za-z]*; | |
141 | _ZTTSt[0-9][0-9][A-Za-z]*; | |
37cea034 | 142 | |
c37514ff BK |
143 | # typeinfo structure |
144 | _ZTIS[a-z]; | |
4e7a2c6f BK |
145 | _ZTINSt8ios_base7failureE; |
146 | _ZTINSt6locale5facetE; | |
4e7a2c6f BK |
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; | |
64bd39cc | 153 | _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; |
d318a8ba | 154 | _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; |
4e7a2c6f | 155 | |
c37514ff | 156 | # typeinfo name |
4e7a2c6f BK |
157 | _ZTSNSt8ios_base7failureE; |
158 | _ZTSNSt6locale5facetE; | |
4e7a2c6f BK |
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; | |
64bd39cc | 166 | _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; |
d318a8ba | 167 | _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; |
9b41c370 BK |
168 | |
169 | # function-scope static objects requires a guard variable. | |
c37514ff | 170 | _ZGVNSt*; |
37cea034 | 171 | |
9b41c370 | 172 | # virtual function thunks |
c37514ff | 173 | _ZThn8_NS*; |
dc4add82 | 174 | _ZThn16_NS*; |
c37514ff | 175 | _ZTv0_n12_NS*; |
dc4add82 | 176 | _ZTv0_n24_NS*; |
9b41c370 | 177 | |
0d223e3a | 178 | # std::__convert_to_v |
530539d9 PE |
179 | _ZSt14__convert_to_v*; |
180 | ||
8099b2ae BK |
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; | |
8099b2ae BK |
210 | __signbit; |
211 | __signbitf; | |
212 | __signbitl; | |
213 | ||
c37514ff BK |
214 | # __gnu_cxx::stdio_sync_filebuf |
215 | _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; | |
216 | ||
2c5d0ae8 BK |
217 | # __gnu_cxx::__atomic_add |
218 | # __gnu_cxx::__exchange_and_add | |
f83295ba BK |
219 | _ZN9__gnu_cxx12__atomic_add*; |
220 | _ZN9__gnu_cxx18__exchange_and_add*; | |
c37514ff | 221 | |
e6b7a69a PE |
222 | # DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here. |
223 | ||
530539d9 PE |
224 | local: |
225 | *; | |
226 | }; | |
9aa43698 | 227 | |
1c26d8fd | 228 | |
9aa43698 | 229 | # Symbols in the support library (libsupc++) have their own tag. |
8099b2ae | 230 | CXXABI_1.3 { |
9aa43698 PE |
231 | |
232 | global: | |
8ecab601 BK |
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; | |
8ecab601 BK |
240 | __cxa_end_catch; |
241 | __cxa_free_exception; | |
242 | __cxa_get_globals; | |
243 | __cxa_get_globals_fast; | |
8099b2ae BK |
244 | __cxa_guard_abort; |
245 | __cxa_guard_acquire; | |
246 | __cxa_guard_release; | |
8ecab601 BK |
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; | |
9aa43698 | 260 | __gxx_personality_v0; |
51cd12de | 261 | __gxx_personality_sj0; |
9aa43698 PE |
262 | __dynamic_cast; |
263 | ||
5aaa2108 BK |
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*; | |
c37514ff BK |
284 | |
285 | # virtual table | |
c37514ff | 286 | _ZTVN10__cxxabiv117__array_type_infoE; |
5aaa2108 | 287 | _ZTVN10__cxxabiv117__class_type_infoE; |
c37514ff | 288 | _ZTVN10__cxxabiv116__enum_type_infoE; |
5aaa2108 BK |
289 | _ZTVN10__cxxabiv120__function_type_infoE; |
290 | _ZTVN10__cxxabiv123__fundamental_type_infoE; | |
c37514ff | 291 | _ZTVN10__cxxabiv117__pbase_type_infoE; |
c37514ff | 292 | _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; |
5aaa2108 BK |
293 | _ZTVN10__cxxabiv119__pointer_type_infoE; |
294 | _ZTVN10__cxxabiv120__si_class_type_infoE; | |
295 | _ZTVN10__cxxabiv121__vmi_class_type_infoE; | |
c37514ff BK |
296 | |
297 | # typeinfo structure (and some names) | |
298 | _ZTI[a-z]; | |
299 | _ZTIP[a-z]; | |
300 | _ZTIPK[a-z]; | |
c37514ff | 301 | _ZTIN10__cxxabiv117__array_type_infoE; |
5aaa2108 | 302 | _ZTIN10__cxxabiv117__class_type_infoE; |
c37514ff | 303 | _ZTIN10__cxxabiv116__enum_type_infoE; |
5aaa2108 BK |
304 | _ZTIN10__cxxabiv120__function_type_infoE; |
305 | _ZTIN10__cxxabiv123__fundamental_type_infoE; | |
c37514ff | 306 | _ZTIN10__cxxabiv117__pbase_type_infoE; |
c37514ff | 307 | _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; |
5aaa2108 BK |
308 | _ZTIN10__cxxabiv119__pointer_type_infoE; |
309 | _ZTIN10__cxxabiv120__si_class_type_infoE; | |
310 | _ZTIN10__cxxabiv121__vmi_class_type_infoE; | |
c37514ff BK |
311 | |
312 | # typeinfo name | |
313 | _ZTS[a-z]; | |
314 | _ZTSP[a-z]; | |
315 | _ZTSPK[a-z]; | |
5aaa2108 BK |
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; | |
c37514ff BK |
326 | |
327 | # __gnu_cxx::_verbose_terminate_handler() | |
328 | _ZN9__gnu_cxx27__verbose_terminate_handlerEv; | |
4e7a2c6f | 329 | |
9aa43698 PE |
330 | local: |
331 | *; | |
332 | }; |