]>
Commit | Line | Data |
---|---|---|
e6b7a69a | 1 | ## Linker script for GNU ld 2.13.91+ only. |
530539d9 | 2 | ## |
8099b2ae | 3 | ## Copyright (C) 2002, 2003 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 | { | |
bd40d535 | 30 | std::[A-Za-k]*; |
a7817e1d BK |
31 | std::length_error*; |
32 | std::logic_error*; | |
1c26d8fd BK |
33 | std::locale::[A-Za-e]*; |
34 | std::locale::facet::[A-Za-z]*; | |
8ae81136 | 35 | std::locale::facet::_S_get_c_locale*; |
1c26d8fd BK |
36 | std::locale::facet::_S_clone_c_locale*; |
37 | std::locale::facet::_S_create_c_locale*; | |
38 | std::locale::facet::_S_destroy_c_locale*; | |
8099b2ae BK |
39 | std::locale::[A-Zg-h]*; |
40 | std::locale::id::[A-Za-z]*; | |
41 | std::locale::id::_S_highwater; | |
42 | std::locale::[A-Zj-z]*; | |
43 | std::locale::_[A-Ha-z]*; | |
44 | std::locale::_Impl::[A-Za-z]*; | |
45 | std::locale::_Impl::_M_[A-Za-z]*; | |
46 | std::locale::_[J-Ra-z]*; | |
b0b12802 BK |
47 | std::locale::_S_normalize_category*; |
48 | std::locale::_[T-Za-z]*; | |
a7817e1d | 49 | std::[A-Zm-z]*; |
530539d9 PE |
50 | std::__throw_*; |
51 | std::__basic_file*; | |
84979344 | 52 | std::__timepunct*; |
3a24c513 | 53 | std::__numeric_limits_base*; |
3a15abf1 BK |
54 | std::__num_base::_S_format_float*; |
55 | std::__num_base::_S_format_int*; | |
56 | std::__num_base::_S_atoms_in; | |
215f9e28 | 57 | std::__num_base::_S_atoms_out; |
fea4065d BK |
58 | std::__moneypunct_cache*; |
59 | std::__numpunct_cache*; | |
60 | std::__timepunct_cache* | |
530539d9 PE |
61 | }; |
62 | ||
0d223e3a | 63 | # Names not in an 'extern' block are mangled names. |
6dc5fdfd | 64 | |
b0b12802 | 65 | # std::locale destructors |
a7817e1d | 66 | _ZNSt6localeD*; |
1c26d8fd BK |
67 | |
68 | # std::locale::facet destructors | |
69 | _ZNSt6locale5facetD*; | |
b0b12802 | 70 | |
8099b2ae BK |
71 | # std::locale::_Impl constructors, destrutors |
72 | _ZNSt6locale5_ImplC*; | |
73 | _ZNSt6locale5_ImplD*; | |
a7817e1d | 74 | |
8099b2ae | 75 | # bool has_facet |
41b4d44b | 76 | _ZSt9has_facet*; |
e38ff265 | 77 | |
ca1c7011 | 78 | # _Rb_tree |
b4c70e89 GB |
79 | _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base; |
80 | _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base; | |
ca1c7011 | 81 | _ZSt18_Rb_tree_rebalancePSt18_Rb_tree_node_baseRS0_; |
b4c70e89 | 82 | _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_; |
ca1c7011 GB |
83 | _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_; |
84 | _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_; | |
85 | _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_; | |
86 | ||
c37514ff | 87 | # virtual table |
4e7a2c6f BK |
88 | _ZTVNSt8ios_base7failureE; |
89 | _ZTVNSt6locale5facetE; | |
90 | _ZTVS[a-z]; | |
91 | _ZTVSt[0-9][A-Za-z]*; | |
92 | _ZTVSt[0-9][0-9][A-Za-z]*; | |
93 | _ZTVSt11__timepunctI[cw]E; | |
94 | _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
95 | _ZTVSt21__ctype_abstract_baseI[cw]E; | |
96 | ||
c37514ff | 97 | # VTT structure |
4e7a2c6f BK |
98 | _ZTTS[a-z]; |
99 | _ZTTSt[0-9][A-Za-z]*; | |
100 | _ZTTSt[0-9][0-9][A-Za-z]*; | |
37cea034 | 101 | |
c37514ff BK |
102 | # typeinfo structure |
103 | _ZTIS[a-z]; | |
4e7a2c6f BK |
104 | _ZTINSt8ios_base7failureE; |
105 | _ZTINSt6locale5facetE; | |
4e7a2c6f BK |
106 | _ZTISt[0-9][A-Za-z]*; |
107 | _ZTISt[0-9][0-9][A-Za-z]*; | |
108 | _ZTISt11__timepunctI[cw]E; | |
109 | _ZTISt10__num_base; | |
110 | _ZTISt21__ctype_abstract_baseI[cw]E; | |
111 | _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
112 | ||
c37514ff | 113 | # typeinfo name |
4e7a2c6f BK |
114 | _ZTSNSt8ios_base7failureE; |
115 | _ZTSNSt6locale5facetE; | |
4e7a2c6f BK |
116 | _ZTSS[a-z]; |
117 | _ZTSSt[0-9][A-Za-z]*; | |
118 | _ZTSSt[0-9][0-9][A-Za-z]*; | |
119 | _ZTSSt11__timepunctI[cw]E; | |
120 | _ZTSSt10__num_base; | |
121 | _ZTSSt21__ctype_abstract_baseI[cw]E; | |
122 | _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; | |
9b41c370 BK |
123 | |
124 | # function-scope static objects requires a guard variable. | |
c37514ff | 125 | _ZGVNSt*; |
37cea034 | 126 | |
9b41c370 | 127 | # virtual function thunks |
c37514ff | 128 | _ZThn8_NS*; |
dc4add82 | 129 | _ZThn16_NS*; |
c37514ff | 130 | _ZTv0_n12_NS*; |
dc4add82 | 131 | _ZTv0_n24_NS*; |
9b41c370 | 132 | |
0d223e3a | 133 | # std::__convert_to_v |
530539d9 PE |
134 | _ZSt14__convert_to_v*; |
135 | ||
8099b2ae BK |
136 | # stub functions from libmath |
137 | sinf; | |
138 | sinl; | |
139 | sinhf; | |
140 | sinhl; | |
141 | cosf; | |
142 | cosl; | |
143 | coshf; | |
144 | coshl; | |
145 | tanf; | |
146 | tanl; | |
147 | tanhf; | |
148 | tanhl; | |
149 | atan2f; | |
150 | atan2l; | |
151 | expf; | |
152 | expl; | |
153 | hypotf; | |
154 | hypotl; | |
155 | hypot; | |
156 | logf; | |
157 | logl; | |
158 | log10f; | |
159 | log10l; | |
160 | powf; | |
161 | powl; | |
162 | sqrtf; | |
163 | sqrtl; | |
164 | copysignf; | |
165 | nan; | |
166 | __signbit; | |
167 | __signbitf; | |
168 | __signbitl; | |
169 | ||
c37514ff BK |
170 | # __gnu_cxx::__pool_alloc |
171 | _ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateE[jm]; | |
172 | _ZN9__gnu_cxx12__pool_allocILb1ELi0EE10deallocateEPv[jm]; | |
173 | ||
174 | # __gnu_cxx::stdio_sync_filebuf | |
175 | _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; | |
176 | ||
177 | # Needed only when generic cpu's atomicity.h is in use. | |
178 | _ZN9__gnu_cxx17_Atomic_add_mutexE; | |
179 | _ZN9__gnu_cxx22_Atomic_add_mutex_onceE; | |
180 | _ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv; | |
181 | ||
e6b7a69a PE |
182 | # DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here. |
183 | ||
530539d9 PE |
184 | local: |
185 | *; | |
186 | }; | |
9aa43698 | 187 | |
1c26d8fd | 188 | |
9aa43698 | 189 | # Symbols in the support library (libsupc++) have their own tag. |
8099b2ae | 190 | CXXABI_1.3 { |
9aa43698 PE |
191 | |
192 | global: | |
8ecab601 BK |
193 | __cxa_allocate_exception; |
194 | __cxa_bad_cast; | |
195 | __cxa_bad_typeid; | |
196 | __cxa_begin_catch; | |
197 | __cxa_call_unexpected; | |
198 | __cxa_current_exception_type; | |
199 | __cxa_demangle; | |
8ecab601 BK |
200 | __cxa_end_catch; |
201 | __cxa_free_exception; | |
202 | __cxa_get_globals; | |
203 | __cxa_get_globals_fast; | |
8099b2ae BK |
204 | __cxa_guard_abort; |
205 | __cxa_guard_acquire; | |
206 | __cxa_guard_release; | |
8ecab601 BK |
207 | __cxa_pure_virtual; |
208 | __cxa_rethrow; | |
209 | __cxa_throw; | |
210 | __cxa_vec_cctor; | |
211 | __cxa_vec_cleanup; | |
212 | __cxa_vec_ctor; | |
213 | __cxa_vec_delete2; | |
214 | __cxa_vec_delete3; | |
215 | __cxa_vec_delete; | |
216 | __cxa_vec_dtor; | |
217 | __cxa_vec_new2; | |
218 | __cxa_vec_new3; | |
219 | __cxa_vec_new; | |
9aa43698 | 220 | __gxx_personality_v0; |
51cd12de | 221 | __gxx_personality_sj0; |
9aa43698 PE |
222 | __dynamic_cast; |
223 | ||
c37514ff BK |
224 | # operator new(size_t) |
225 | _Znw[jm]; | |
226 | # operator new(size_t, std::nothrow_t const&) | |
227 | _Znw[jm]RKSt9nothrow_t; | |
228 | ||
229 | # operator delete(void*) | |
230 | _ZdlPv; | |
231 | # operator delete(void*, std::nothrow_t const&) | |
232 | _ZdlPvRKSt9nothrow_t; | |
76f6aa8b | 233 | |
c37514ff BK |
234 | # operator new[](size_t) |
235 | _Zna[jm]; | |
236 | # operator new[](size_t, std::nothrow_t const&) | |
237 | _Zna[jm]RKSt9nothrow_t; | |
4e7a2c6f | 238 | |
c37514ff BK |
239 | # operator delete[](void*) |
240 | _ZdaPv; | |
241 | # operator delete[](void*, std::nothrow_t const&) | |
242 | _ZdaPvRKSt9nothrow_t; | |
243 | ||
244 | # virtual table | |
245 | _ZTVN10__cxxabiv117__class_type_infoE; | |
246 | _ZTVN10__cxxabiv120__si_class_type_infoE; | |
247 | _ZTVN10__cxxabiv121__vmi_class_type_infoE; | |
248 | _ZTVN10__cxxabiv123__fundamental_type_infoE; | |
249 | _ZTVN10__cxxabiv117__array_type_infoE; | |
250 | _ZTVN10__cxxabiv120__function_type_infoE; | |
251 | _ZTVN10__cxxabiv116__enum_type_infoE; | |
252 | _ZTVN10__cxxabiv117__pbase_type_infoE; | |
253 | _ZTVN10__cxxabiv119__pointer_type_infoE; | |
254 | _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; | |
255 | ||
256 | # typeinfo structure (and some names) | |
257 | _ZTI[a-z]; | |
258 | _ZTIP[a-z]; | |
259 | _ZTIPK[a-z]; | |
260 | _ZTIN10__cxxabiv117__class_type_infoE; | |
261 | _ZTIN10__cxxabiv120__si_class_type_infoE; | |
262 | _ZTIN10__cxxabiv121__vmi_class_type_infoE; | |
263 | _ZTIN10__cxxabiv123__fundamental_type_infoE; | |
264 | _ZTIN10__cxxabiv117__array_type_infoE; | |
265 | _ZTIN10__cxxabiv120__function_type_infoE; | |
266 | _ZTIN10__cxxabiv116__enum_type_infoE; | |
267 | _ZTIN10__cxxabiv117__pbase_type_infoE; | |
268 | _ZTIN10__cxxabiv119__pointer_type_infoE; | |
269 | _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; | |
270 | ||
271 | # typeinfo name | |
272 | _ZTS[a-z]; | |
273 | _ZTSP[a-z]; | |
274 | _ZTSPK[a-z]; | |
275 | ||
276 | # __gnu_cxx::_verbose_terminate_handler() | |
277 | _ZN9__gnu_cxx27__verbose_terminate_handlerEv; | |
4e7a2c6f | 278 | |
9aa43698 PE |
279 | local: |
280 | *; | |
281 | }; |