]>
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]*; |
390e4c0d BK |
58 | std::_List_node_base::hook*; |
59 | std::_List_node_base::swap*; | |
60 | std::_List_node_base::unhook*; | |
61 | std::_List_node_base::reverse*; | |
62 | std::_List_node_base::transfer*; | |
530539d9 | 63 | std::__throw_*; |
84979344 | 64 | std::__timepunct*; |
3a24c513 | 65 | std::__numeric_limits_base*; |
3a15abf1 BK |
66 | std::__num_base::_S_format_float*; |
67 | std::__num_base::_S_format_int*; | |
68 | std::__num_base::_S_atoms_in; | |
215f9e28 | 69 | std::__num_base::_S_atoms_out; |
fea4065d BK |
70 | std::__moneypunct_cache*; |
71 | std::__numpunct_cache*; | |
285b36d6 | 72 | std::__timepunct_cache*; |
285b36d6 BK |
73 | __gnu_debug::_Safe_iterator_base*; |
74 | __gnu_debug::_Safe_sequence_base*; | |
390e4c0d BK |
75 | __gnu_debug::_Error_formatter*; |
76 | __gnu_norm::_List_node_base::hook*; | |
77 | __gnu_norm::_List_node_base::swap*; | |
78 | __gnu_norm::_List_node_base::unhook*; | |
79 | __gnu_norm::_List_node_base::reverse*; | |
80 | __gnu_norm::_List_node_base::transfer* | |
530539d9 PE |
81 | }; |
82 | ||
0d223e3a | 83 | # Names not in an 'extern' block are mangled names. |
6dc5fdfd | 84 | |
5aaa2108 BK |
85 | # operator new(size_t) |
86 | _Znw[jm]; | |
87 | # operator new(size_t, std::nothrow_t const&) | |
88 | _Znw[jm]RKSt9nothrow_t; | |
89 | ||
90 | # operator delete(void*) | |
91 | _ZdlPv; | |
92 | # operator delete(void*, std::nothrow_t const&) | |
93 | _ZdlPvRKSt9nothrow_t; | |
94 | ||
95 | # operator new[](size_t) | |
96 | _Zna[jm]; | |
97 | # operator new[](size_t, std::nothrow_t const&) | |
98 | _Zna[jm]RKSt9nothrow_t; | |
99 | ||
100 | # operator delete[](void*) | |
101 | _ZdaPv; | |
102 | # operator delete[](void*, std::nothrow_t const&) | |
103 | _ZdaPvRKSt9nothrow_t; | |
104 | ||
b0b12802 | 105 | # std::locale destructors |
a7817e1d | 106 | _ZNSt6localeD*; |
1c26d8fd BK |
107 | |
108 | # std::locale::facet destructors | |
109 | _ZNSt6locale5facetD*; | |
b0b12802 | 110 | |
285b36d6 | 111 | # std::locale::_Impl constructors, destructors |
8099b2ae BK |
112 | _ZNSt6locale5_ImplC*; |
113 | _ZNSt6locale5_ImplD*; | |
a7817e1d | 114 | |
5ec3f566 BK |
115 | # std::ios_base, std::ios_base::Init destructors |
116 | _ZNSt8ios_baseD*; | |
117 | _ZNSt8ios_base4InitD*; | |
118 | ||
8099b2ae | 119 | # bool has_facet |
41b4d44b | 120 | _ZSt9has_facet*; |
e38ff265 | 121 | |
ca1c7011 | 122 | # _Rb_tree |
e135a038 | 123 | _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base; |
b4c70e89 | 124 | _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base; |
e135a038 | 125 | _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base; |
b4c70e89 | 126 | _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base; |
b4c70e89 | 127 | _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_; |
ca1c7011 GB |
128 | _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_; |
129 | _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_; | |
130 | _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_; | |
e135a038 | 131 | _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_; |
ca1c7011 | 132 | |
5aaa2108 BK |
133 | # std::__codecvt_abstract_base* |
134 | _ZNStSt23__codecvt_abstract_base*; | |
135 | ||
7c9fee34 BK |
136 | # std::__basic_file |
137 | _ZNKSt12__basic_fileIcE7is_openEv; | |
138 | _ZNSt12__basic_fileIcE2fdEv; | |
139 | _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei; | |
140 | _ZNSt12__basic_fileIcE4syncEv; | |
141 | _ZNSt12__basic_fileIcE5closeEv; | |
37f3105a JM |
142 | _ZNSt12__basic_fileIcE6xsgetn*; |
143 | _ZNSt12__basic_fileIcE6xsputn*; | |
144 | _ZNSt12__basic_fileIcE7seekoff*; | |
7c9fee34 BK |
145 | _ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode; |
146 | _ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode; | |
37f3105a | 147 | _ZNSt12__basic_fileIcE8xsputn_2*; |
7c9fee34 BK |
148 | _ZNSt12__basic_fileIcE9showmanycEv; |
149 | _ZNSt12__basic_fileIcEC*; | |
150 | _ZNSt12__basic_fileIcED*; | |
151 | ||
c37514ff | 152 | # virtual table |
4e7a2c6f BK |
153 | _ZTVNSt8ios_base7failureE; |
154 | _ZTVNSt6locale5facetE; | |
155 | _ZTVS[a-z]; | |
156 | _ZTVSt[0-9][A-Za-z]*; | |
157 | _ZTVSt[0-9][0-9][A-Za-z]*; | |
158 | _ZTVSt11__timepunctI[cw]E; | |
159 | _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
160 | _ZTVSt21__ctype_abstract_baseI[cw]E; | |
161 | ||
c37514ff | 162 | # VTT structure |
4e7a2c6f BK |
163 | _ZTTS[a-z]; |
164 | _ZTTSt[0-9][A-Za-z]*; | |
165 | _ZTTSt[0-9][0-9][A-Za-z]*; | |
37cea034 | 166 | |
c37514ff BK |
167 | # typeinfo structure |
168 | _ZTIS[a-z]; | |
4e7a2c6f BK |
169 | _ZTINSt8ios_base7failureE; |
170 | _ZTINSt6locale5facetE; | |
4e7a2c6f BK |
171 | _ZTISt[0-9][A-Za-z]*; |
172 | _ZTISt[0-9][0-9][A-Za-z]*; | |
173 | _ZTISt11__timepunctI[cw]E; | |
174 | _ZTISt10__num_base; | |
175 | _ZTISt21__ctype_abstract_baseI[cw]E; | |
176 | _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
64bd39cc | 177 | _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; |
d318a8ba | 178 | _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; |
4e7a2c6f | 179 | |
c37514ff | 180 | # typeinfo name |
4e7a2c6f BK |
181 | _ZTSNSt8ios_base7failureE; |
182 | _ZTSNSt6locale5facetE; | |
4e7a2c6f BK |
183 | _ZTSS[a-z]; |
184 | _ZTSSt[0-9][A-Za-z]*; | |
185 | _ZTSSt[0-9][0-9][A-Za-z]*; | |
186 | _ZTSSt11__timepunctI[cw]E; | |
187 | _ZTSSt10__num_base; | |
188 | _ZTSSt21__ctype_abstract_baseI[cw]E; | |
189 | _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
64bd39cc | 190 | _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; |
d318a8ba | 191 | _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; |
9b41c370 BK |
192 | |
193 | # function-scope static objects requires a guard variable. | |
c37514ff | 194 | _ZGVNSt*; |
37cea034 | 195 | |
9b41c370 | 196 | # virtual function thunks |
c37514ff | 197 | _ZThn8_NS*; |
dc4add82 | 198 | _ZThn16_NS*; |
c37514ff | 199 | _ZTv0_n12_NS*; |
dc4add82 | 200 | _ZTv0_n24_NS*; |
9b41c370 | 201 | |
0d223e3a | 202 | # std::__convert_to_v |
530539d9 PE |
203 | _ZSt14__convert_to_v*; |
204 | ||
8099b2ae BK |
205 | # stub functions from libmath |
206 | sinf; | |
207 | sinl; | |
208 | sinhf; | |
209 | sinhl; | |
210 | cosf; | |
211 | cosl; | |
212 | coshf; | |
213 | coshl; | |
214 | tanf; | |
215 | tanl; | |
216 | tanhf; | |
217 | tanhl; | |
218 | atan2f; | |
219 | atan2l; | |
220 | expf; | |
221 | expl; | |
222 | hypotf; | |
223 | hypotl; | |
224 | hypot; | |
225 | logf; | |
226 | logl; | |
227 | log10f; | |
228 | log10l; | |
229 | powf; | |
230 | powl; | |
231 | sqrtf; | |
232 | sqrtl; | |
233 | copysignf; | |
8099b2ae BK |
234 | __signbit; |
235 | __signbitf; | |
236 | __signbitl; | |
237 | ||
c37514ff BK |
238 | # __gnu_cxx::stdio_sync_filebuf |
239 | _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; | |
240 | ||
2c5d0ae8 BK |
241 | # __gnu_cxx::__atomic_add |
242 | # __gnu_cxx::__exchange_and_add | |
f83295ba BK |
243 | _ZN9__gnu_cxx12__atomic_add*; |
244 | _ZN9__gnu_cxx18__exchange_and_add*; | |
c37514ff | 245 | |
e6b7a69a PE |
246 | # DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here. |
247 | ||
530539d9 PE |
248 | local: |
249 | *; | |
250 | }; | |
9aa43698 | 251 | |
7c9fee34 BK |
252 | GLIBCXX_3.4.1 { |
253 | ||
254 | _ZNSt12__basic_fileIcE4fileEv; | |
255 | ||
256 | } GLIBCXX_3.4; | |
257 | ||
1c26d8fd | 258 | |
9aa43698 | 259 | # Symbols in the support library (libsupc++) have their own tag. |
8099b2ae | 260 | CXXABI_1.3 { |
9aa43698 PE |
261 | |
262 | global: | |
8ecab601 BK |
263 | __cxa_allocate_exception; |
264 | __cxa_bad_cast; | |
265 | __cxa_bad_typeid; | |
266 | __cxa_begin_catch; | |
267 | __cxa_call_unexpected; | |
268 | __cxa_current_exception_type; | |
269 | __cxa_demangle; | |
8ecab601 BK |
270 | __cxa_end_catch; |
271 | __cxa_free_exception; | |
272 | __cxa_get_globals; | |
273 | __cxa_get_globals_fast; | |
8099b2ae BK |
274 | __cxa_guard_abort; |
275 | __cxa_guard_acquire; | |
276 | __cxa_guard_release; | |
8ecab601 BK |
277 | __cxa_pure_virtual; |
278 | __cxa_rethrow; | |
279 | __cxa_throw; | |
280 | __cxa_vec_cctor; | |
281 | __cxa_vec_cleanup; | |
282 | __cxa_vec_ctor; | |
283 | __cxa_vec_delete2; | |
284 | __cxa_vec_delete3; | |
285 | __cxa_vec_delete; | |
286 | __cxa_vec_dtor; | |
287 | __cxa_vec_new2; | |
288 | __cxa_vec_new3; | |
289 | __cxa_vec_new; | |
9aa43698 | 290 | __gxx_personality_v0; |
51cd12de | 291 | __gxx_personality_sj0; |
9aa43698 PE |
292 | __dynamic_cast; |
293 | ||
5aaa2108 BK |
294 | # *_type_info classes, ctor and dtor |
295 | _ZN10__cxxabiv117__array_type_info*; | |
296 | _ZN10__cxxabiv117__class_type_info*; | |
297 | _ZN10__cxxabiv116__enum_type_info*; | |
298 | _ZN10__cxxabiv120__function_type_info*; | |
299 | _ZN10__cxxabiv123__fundamental_type_info*; | |
300 | _ZN10__cxxabiv117__pbase_type_info*; | |
301 | _ZN10__cxxabiv129__pointer_to_member_type_info*; | |
302 | _ZN10__cxxabiv119__pointer_type_info*; | |
303 | _ZN10__cxxabiv120__si_class_type_info*; | |
304 | _ZN10__cxxabiv121__vmi_class_type_info*; | |
305 | ||
306 | # *_type_info classes, member functions | |
307 | _ZNK10__cxxabiv117__class_type_info*; | |
308 | _ZNK10__cxxabiv120__function_type_info*; | |
309 | _ZNK10__cxxabiv117__pbase_type_info*; | |
310 | _ZNK10__cxxabiv129__pointer_to_member_type_info*; | |
311 | _ZNK10__cxxabiv119__pointer_type_info*; | |
312 | _ZNK10__cxxabiv120__si_class_type_info*; | |
313 | _ZNK10__cxxabiv121__vmi_class_type_info*; | |
c37514ff BK |
314 | |
315 | # virtual table | |
c37514ff | 316 | _ZTVN10__cxxabiv117__array_type_infoE; |
5aaa2108 | 317 | _ZTVN10__cxxabiv117__class_type_infoE; |
c37514ff | 318 | _ZTVN10__cxxabiv116__enum_type_infoE; |
5aaa2108 BK |
319 | _ZTVN10__cxxabiv120__function_type_infoE; |
320 | _ZTVN10__cxxabiv123__fundamental_type_infoE; | |
c37514ff | 321 | _ZTVN10__cxxabiv117__pbase_type_infoE; |
c37514ff | 322 | _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; |
5aaa2108 BK |
323 | _ZTVN10__cxxabiv119__pointer_type_infoE; |
324 | _ZTVN10__cxxabiv120__si_class_type_infoE; | |
325 | _ZTVN10__cxxabiv121__vmi_class_type_infoE; | |
c37514ff BK |
326 | |
327 | # typeinfo structure (and some names) | |
328 | _ZTI[a-z]; | |
329 | _ZTIP[a-z]; | |
330 | _ZTIPK[a-z]; | |
c37514ff | 331 | _ZTIN10__cxxabiv117__array_type_infoE; |
5aaa2108 | 332 | _ZTIN10__cxxabiv117__class_type_infoE; |
c37514ff | 333 | _ZTIN10__cxxabiv116__enum_type_infoE; |
5aaa2108 BK |
334 | _ZTIN10__cxxabiv120__function_type_infoE; |
335 | _ZTIN10__cxxabiv123__fundamental_type_infoE; | |
c37514ff | 336 | _ZTIN10__cxxabiv117__pbase_type_infoE; |
c37514ff | 337 | _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; |
5aaa2108 BK |
338 | _ZTIN10__cxxabiv119__pointer_type_infoE; |
339 | _ZTIN10__cxxabiv120__si_class_type_infoE; | |
340 | _ZTIN10__cxxabiv121__vmi_class_type_infoE; | |
c37514ff BK |
341 | |
342 | # typeinfo name | |
343 | _ZTS[a-z]; | |
344 | _ZTSP[a-z]; | |
345 | _ZTSPK[a-z]; | |
5aaa2108 BK |
346 | _ZTSN10__cxxabiv117__array_type_infoE; |
347 | _ZTSN10__cxxabiv117__class_type_infoE; | |
348 | _ZTSN10__cxxabiv116__enum_type_infoE; | |
349 | _ZTSN10__cxxabiv120__function_type_infoE; | |
350 | _ZTSN10__cxxabiv123__fundamental_type_infoE; | |
351 | _ZTSN10__cxxabiv117__pbase_type_infoE; | |
352 | _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; | |
353 | _ZTSN10__cxxabiv119__pointer_type_infoE; | |
354 | _ZTSN10__cxxabiv120__si_class_type_infoE; | |
355 | _ZTSN10__cxxabiv121__vmi_class_type_infoE; | |
c37514ff BK |
356 | |
357 | # __gnu_cxx::_verbose_terminate_handler() | |
358 | _ZN9__gnu_cxx27__verbose_terminate_handlerEv; | |
4e7a2c6f | 359 | |
9aa43698 PE |
360 | local: |
361 | *; | |
362 | }; |