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