]>
Commit | Line | Data |
---|---|---|
530539d9 PE |
1 | ## Linker script for GNU ld 2.11.94+ only. |
2 | ## | |
3 | ## Copyright (C) 2002 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 | ||
0870a490 | 23 | GLIBCPP_3.2 { |
530539d9 PE |
24 | |
25 | global: | |
26 | ||
0d223e3a BK |
27 | # Names inside the 'extern' block are demangled names. |
28 | # All but the last are terminated with a semicolon. | |
530539d9 PE |
29 | extern "C++" |
30 | { | |
72040fcb BK |
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]*; | |
b0b12802 BK |
40 | std::c[a-n]*; |
41 | std::co[a-c]*; | |
42 | std::codecvt_byname*; | |
43 | std::codecvt::[A-Za-b]*; | |
44 | std::codecvt::[A-Zd-z]*; | |
45 | std::codecvt_c; | |
46 | std::codecvt_w; | |
47 | std::co[e-z]*; | |
48 | std::c[p-z]*; | |
57e172dd | 49 | std::c_[a-z]*; |
b0b12802 | 50 | std::[A-Zd-k]*; |
a7817e1d BK |
51 | std::length_error*; |
52 | std::logic_error*; | |
1c26d8fd BK |
53 | std::locale::[A-Za-e]*; |
54 | std::locale::facet::[A-Za-z]*; | |
55 | std::locale::facet::_M*; | |
56 | std::locale::facet::_S_c_locale; | |
57 | std::locale::facet::_S_clone_c_locale*; | |
58 | std::locale::facet::_S_create_c_locale*; | |
59 | std::locale::facet::_S_destroy_c_locale*; | |
60 | std::locale::[A-Zg-z]*; | |
b0b12802 | 61 | std::locale::_[A-Ra-z]*; |
a7817e1d BK |
62 | std::locale::_S_classic; |
63 | std::locale::_S_global; | |
64 | std::locale::_S_num_categories; | |
b0b12802 BK |
65 | std::locale::_S_normalize_category*; |
66 | std::locale::_[T-Za-z]*; | |
a7817e1d | 67 | std::[A-Zm-z]*; |
530539d9 PE |
68 | std::__throw_*; |
69 | std::__basic_file*; | |
530539d9 | 70 | std::__num_base*; |
84979344 | 71 | std::__timepunct*; |
1cb7f91f BK |
72 | std::__numeric_limits_base*; |
73 | std::_S_bit_count; | |
72040fcb | 74 | std::_S_first_one |
530539d9 PE |
75 | }; |
76 | ||
0d223e3a | 77 | # Names not in an 'extern' block are mangled names. |
6dc5fdfd | 78 | |
72040fcb BK |
79 | # std::string minus binary operator plus |
80 | _ZNKSs*; | |
81 | _ZNKSb*; | |
82 | _ZNSs[A-Za-z]*; | |
83 | _ZNSs[0-9][A-Za-z]*; | |
84 | _ZNSs[0-9][0-9][A-Za-z]*; | |
85 | _ZNSs[0-9]_[A-Ra-z]*; | |
86 | _ZNSs[0-9][0-9]_[A-Ra-z]*; | |
87 | _ZNSs12_S_empty_repEv; | |
88 | _ZNSs20_S_empty_rep_storageE; | |
89 | _ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE; | |
4a1338ed BK |
90 | _ZNSs12_S_constructE*; |
91 | _ZNSs13_S_copy_charsE*; | |
72040fcb BK |
92 | _ZNSbIwSt11char_traitsIwESaIwEE[A-Ra-z]*; |
93 | _ZNSbIwSt11char_traitsIwESaIwEE[0-9][A-Ra-z]*; | |
94 | _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9][A-Ra-z]*; | |
95 | _ZNSbIwSt11char_traitsIwESaIwEE[0-9]_[A-Ra-z]*; | |
96 | _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_[A-Ra-z]*; | |
97 | _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*; | |
bd3175a2 | 98 | _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_; |
72040fcb BK |
99 | _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv; |
100 | _ZSt24__uninitialized_copy_auxIN9*; | |
101 | _ZSt26__uninitialized_fill_n_aux*; | |
102 | _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_; | |
103 | _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_; | |
104 | _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_; | |
105 | _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_; | |
106 | ||
b0b12802 | 107 | # std::locale destructors |
a7817e1d | 108 | _ZNSt6localeD*; |
1c26d8fd BK |
109 | |
110 | # std::locale::facet destructors | |
111 | _ZNSt6locale5facetD*; | |
b0b12802 BK |
112 | |
113 | # std::codecvt<char> members. | |
114 | _ZNKSt7codecvtIcc11__mbstate_tE*; | |
115 | # std::codecvt<char>::~codecvt | |
116 | _ZNSt7codecvtIcc11__mbstate_tED*; | |
57e172dd | 117 | # std::codecvt<char>::codecvt(size_t), where size_t variable. |
bd3175a2 | 118 | _ZNSt7codecvtIcc11__mbstate_tEC[12]E[jm]; |
b0b12802 BK |
119 | # std::codecvt<char>::id |
120 | _ZNSt7codecvtIcc11__mbstate_tE2idE; | |
121 | ||
122 | # std::codecvt<wchar_t> members. | |
123 | _ZNKSt7codecvtIwc11__mbstate_tE*; | |
124 | # std::codecvt<wchar_t>::~codecvt | |
125 | _ZNSt7codecvtIwc11__mbstate_tED*; | |
57e172dd | 126 | # std::codecvt<wchar_t>::codecvt(size_t), where size_t variable. |
bd3175a2 | 127 | _ZNSt7codecvtIwc11__mbstate_tEC[12]E[jm]; |
b0b12802 BK |
128 | # std::codecvt<wchar_t>::id |
129 | _ZNSt7codecvtIwc11__mbstate_tE2idE; | |
130 | ||
131 | # std::use_facet<codecvt> | |
132 | _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale; | |
133 | _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale; | |
a7817e1d | 134 | |
6dc5fdfd | 135 | # std::has_facet* |
41b4d44b | 136 | _ZSt9has_facet*; |
e38ff265 | 137 | |
72040fcb BK |
138 | # std::__default_alloc_template |
139 | _ZNSt24__default_alloc_templateILb1ELi0EE10deallocate*; | |
140 | _ZNSt24__default_alloc_templateILb1ELi0EE8allocate*; | |
141 | _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE; | |
142 | _ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE; | |
143 | _ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillE*; | |
144 | ||
145 | # std::__default_alloc_template to be removed in the future | |
146 | _ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPv*; | |
147 | _ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upE*; | |
148 | _ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocE*; | |
149 | _ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexE*; | |
150 | _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE; | |
151 | _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE; | |
152 | _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE; | |
153 | _ZNSt24__default_alloc_templateILb1ELi0EE5_Lock*; | |
154 | ||
0d223e3a | 155 | # operator new(unsigned) |
530539d9 | 156 | _Znwj; |
e38ff265 RH |
157 | # operator new(unsigned, std::nothrow_t const&) |
158 | _ZnwjRKSt9nothrow_t; | |
159 | # operator new(unsigned long) | |
160 | _Znwm; | |
161 | # operator new(unsigned long, std::nothrow_t const&) | |
162 | _ZnwmRKSt9nothrow_t; | |
530539d9 | 163 | |
0d223e3a | 164 | # operator delete(void*) |
530539d9 | 165 | _ZdlPv; |
e38ff265 RH |
166 | # operator delete(void*, std::nothrow_t const&) |
167 | _ZdlPvRKSt9nothrow_t; | |
530539d9 | 168 | |
0d223e3a | 169 | # operator new[](unsigned) |
530539d9 | 170 | _Znaj; |
e38ff265 RH |
171 | # operator new[](unsigned, std::nothrow_t const&) |
172 | _ZnajRKSt9nothrow_t; | |
173 | # operator new[](unsigned long) | |
174 | _Znam; | |
175 | # operator new[](unsigned long, std::nothrow_t const&) | |
176 | _ZnamRKSt9nothrow_t; | |
530539d9 | 177 | |
0d223e3a | 178 | # operator delete[](void*) |
530539d9 | 179 | _ZdaPv; |
e38ff265 RH |
180 | # operator delete[](void*, std::nothrow_t const&) |
181 | _ZdaPvRKSt9nothrow_t; | |
530539d9 | 182 | |
6dc5fdfd PE |
183 | # vtable |
184 | _ZTV*; | |
9b41c370 | 185 | _ZTT*; |
37cea034 BK |
186 | |
187 | # typeinfo | |
9b41c370 BK |
188 | _ZTI*; |
189 | _ZTS*; | |
190 | ||
191 | # function-scope static objects requires a guard variable. | |
192 | _ZGV*; | |
37cea034 | 193 | |
9b41c370 BK |
194 | # virtual function thunks |
195 | _ZTh*; | |
196 | _ZTv*; | |
197 | _ZTc*; | |
198 | ||
0d223e3a | 199 | # std::__convert_to_v |
530539d9 PE |
200 | _ZSt14__convert_to_v*; |
201 | ||
530539d9 PE |
202 | local: |
203 | *; | |
204 | }; | |
9aa43698 | 205 | |
a7817e1d BK |
206 | # Symbols added after GLIBCPP_3.2 |
207 | GLIBCPP_3.2.1 { | |
208 | ||
209 | _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj; | |
210 | _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj; | |
211 | _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj; | |
212 | _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj; | |
213 | ||
72040fcb BK |
214 | _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_; |
215 | _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_; | |
216 | ||
23ae3eb1 CE |
217 | # stub functions from libmath |
218 | sinf; | |
219 | sinl; | |
220 | sinhf; | |
221 | sinhl; | |
222 | cosf; | |
223 | cosl; | |
224 | coshf; | |
225 | coshl; | |
226 | tanf; | |
227 | tanl; | |
228 | tanhf; | |
229 | tanhl; | |
230 | atan2f; | |
231 | atan2l; | |
232 | expf; | |
233 | expl; | |
234 | hypotf; | |
235 | hypotl; | |
236 | hypot; | |
237 | logf; | |
238 | logl; | |
239 | log10f; | |
240 | log10l; | |
241 | powf; | |
242 | powl; | |
243 | sqrtf; | |
244 | sqrtl; | |
245 | copysignf; | |
246 | nan; | |
247 | __signbit; | |
248 | __signbitf; | |
249 | __signbitl; | |
250 | ||
a7817e1d | 251 | } GLIBCPP_3.2; |
9aa43698 | 252 | |
1c26d8fd BK |
253 | |
254 | GLIBCPP_3.2.2 { | |
255 | ||
256 | _ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE; | |
257 | ||
258 | } GLIBCPP_3.2.1; | |
259 | ||
9aa43698 | 260 | # Symbols in the support library (libsupc++) have their own tag. |
0870a490 | 261 | CXXABI_1.2 { |
9aa43698 PE |
262 | |
263 | global: | |
8ecab601 BK |
264 | __cxa_allocate_exception; |
265 | __cxa_bad_cast; | |
266 | __cxa_bad_typeid; | |
267 | __cxa_begin_catch; | |
268 | __cxa_call_unexpected; | |
269 | __cxa_current_exception_type; | |
270 | __cxa_demangle; | |
8ecab601 BK |
271 | __cxa_end_catch; |
272 | __cxa_free_exception; | |
273 | __cxa_get_globals; | |
274 | __cxa_get_globals_fast; | |
275 | __cxa_pure_virtual; | |
276 | __cxa_rethrow; | |
277 | __cxa_throw; | |
278 | __cxa_vec_cctor; | |
279 | __cxa_vec_cleanup; | |
280 | __cxa_vec_ctor; | |
281 | __cxa_vec_delete2; | |
282 | __cxa_vec_delete3; | |
283 | __cxa_vec_delete; | |
284 | __cxa_vec_dtor; | |
285 | __cxa_vec_new2; | |
286 | __cxa_vec_new3; | |
287 | __cxa_vec_new; | |
9aa43698 | 288 | __gxx_personality_v0; |
51cd12de | 289 | __gxx_personality_sj0; |
9aa43698 PE |
290 | __dynamic_cast; |
291 | ||
76f6aa8b PE |
292 | # __gnu_cxx::_verbose_terminate_handler() |
293 | _ZN9__gnu_cxx27__verbose_terminate_handlerEv; | |
294 | ||
e6686813 BK |
295 | # XXX Should not be exported. |
296 | __cxa_dyn_string_append_char; | |
297 | __cxa_dyn_string_append_cstr; | |
298 | __cxa_dyn_string_append; | |
299 | __cxa_dyn_string_clear; | |
300 | __cxa_dyn_string_copy_cstr; | |
301 | __cxa_dyn_string_copy; | |
302 | __cxa_dyn_string_delete; | |
303 | __cxa_dyn_string_eq; | |
304 | __cxa_dyn_string_init; | |
305 | __cxa_dyn_string_insert_char; | |
306 | __cxa_dyn_string_insert_cstr; | |
307 | __cxa_dyn_string_insert; | |
308 | __cxa_dyn_string_new; | |
309 | __cxa_dyn_string_prepend_cstr; | |
310 | __cxa_dyn_string_prepend; | |
311 | __cxa_dyn_string_release; | |
312 | __cxa_dyn_string_resize; | |
313 | __cxa_dyn_string_substring; | |
314 | ||
9aa43698 PE |
315 | local: |
316 | *; | |
317 | }; | |
8ecab601 BK |
318 | |
319 | # Symbols added after CXXABI_1.2 | |
320 | CXXABI_1.2.1 { | |
321 | ||
322 | __cxa_guard_acquire; | |
323 | __cxa_guard_release; | |
324 | __cxa_guard_abort; | |
325 | ||
326 | } CXXABI_1.2; |