1## Linker script for GNU versioning (GNU ld 2.13.91+ only.)
2##
3## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
4## Free Software Foundation, Inc.
5##
6## This file is part of the GNU ISO C++ Library.  This library is free
7## software; you can redistribute it and/or modify it under the
8## terms of the GNU General Public License as published by the
9## Free Software Foundation; either version 2, or (at your option)
10## any later version.
11##
12## This library is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15## GNU General Public License for more details.
16##
17## You should have received a copy of the GNU General Public License along
18## with this library; see the file COPYING.  If not, write to the Free
19## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20## USA.
21
22GLIBCXX_3.4 {
23
24  global:
25
26    # Names inside the 'extern' block are demangled names.
27    extern "C++"
28    {
29      std::[A-Za]*;
30#     std::ba[a-r]*;
31      std::basic_[a-e]*;
32      std::basic_f[a-r]*;
33#     std::basic_fstream;
34      std::basic_f[t-z]*;
35      std::basic_[g-h]*;
36      std::basic_i[a-e]*;
37#     std::basic_ifstream;
38      std::basic_i[g-r]*;
39      std::basic_istr[a-d]*;
40#     std::basic_istream;
41      std::basic_istr[f-z]*;
42      std::basic_i[t-z]*;
43      std::basic_[j-n]*;
44      std::basic_o[a-e]*;
45#     std::basic_ofstream;
46#     std::basic_o[g-z]*;
47      std::basic_o[g-r]*;
48      std::basic_ostr[a-d]*;
49      std::basic_ostr[f-z]*;
50      std::basic_[p-r]*;
51      std::basic_streambuf*;
52#     std::basic_string
53#     std::basic_stringbuf
54      std::basic_stringstream*;
55      std::basic_[t-z]*;
56      std::ba[t-z]*;
57      std::b[b-z]*;
58      std::c[a-g]*;
59#     std::char_traits;
60      std::c[i-z]*;
61      std::[d-h]*;
62      std::i[a-n]*;
63      std::ios_base::[A-Ha-z]*;
64      std::ios_base::_M_grow_words*;
65      std::ios_base::_M_init*;
66      std::ios_base::Init::[A-Za-z]*;
67      std::ios_base::[J-Za-z]*;
68      std::i[p-r]*;
69#     std::istream
70#     std::istreambuf_iterator
71      std::istringstream*;
72      std::istrstream*;
73      std::i[t-z]*;
74      std::[A-Zj-k]*;
75      std::length_error*;
76      std::logic_error*;
77      std::locale::[A-Za-e]*;
78      std::locale::facet::[A-Za-z]*;
79      std::locale::facet::_S_get_c_locale*;	
80      std::locale::facet::_S_clone_c_locale*;
81      std::locale::facet::_S_create_c_locale*;
82      std::locale::facet::_S_destroy_c_locale*;
83      std::locale::[A-Zg-h]*;
84      std::locale::id::[A-Za-z]*;
85      std::locale::id::_M_id*;
86      std::locale::[A-Zj-z]*;
87      std::locale::_[A-Ha-z]*;
88      std::locale::_Impl::[A-Za-z]*;
89#     std::locale::_Impl::_M_[A-Za-z]*;
90      std::locale::_[J-Ra-z]*;
91      std::locale::_S_normalize_category*;
92      std::locale::_[T-Za-z]*;
93#     std::[A-Zm-r]*;
94      std::[A-Zm]*;
95      std::n[^u]*;
96      std::nu[^m]*;
97      std::num[^e]*;
98      std::[p-r]*;
99      std::ostrstream*;
100      std::out_of_range*;
101      std::overflow_error*;
102      std::set_new_handler*;
103      std::set_terminate*;
104      std::set_unexpected*;
105#     std::string
106      std::strstream*;
107      std::strstreambuf*;
108      std::[A-Zt-z]*;
109      std::_List_node_base::hook*;
110      std::_List_node_base::swap*;
111      std::_List_node_base::unhook*;
112      std::_List_node_base::reverse*;
113      std::_List_node_base::transfer*;
114      std::__throw_*;
115      std::__timepunct*;
116      std::__numeric_limits_base*;
117      std::__num_base::_S_format_float*;
118      std::__num_base::_S_format_int*;
119      std::__num_base::_S_atoms_in;
120      std::__num_base::_S_atoms_out;
121      std::__moneypunct_cache*;
122      std::__numpunct_cache*;
123      std::__timepunct_cache*;
124      __gnu_debug::_Error_formatter*
125    };
126
127    # Names not in an 'extern' block are mangled names.
128
129    # __gnu_debug::_Safe_sequence_base and _Safe_iterator_base
130    _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
131    _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
132    _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
133    _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
134    _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
135    _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
136    _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
137    _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
138
139    # std::string
140    _ZNSsC*;
141    _ZNSsD*;
142    _ZNSs[0-9][a-z]*;
143    _ZNSs12_Alloc_hiderC*;
144    _ZNSs12_M_leak_hardEv;
145    _ZNSs12_S_constructE[jm]cRKSaIcE;
146    _ZNSs12_S_empty_repEv;
147    _ZNSs13_S_copy_chars*;
148    _ZNSs[0-9][0-9]_M_replace*;
149    _ZNSs4_Rep10_M_destroy*;
150    _ZNSs4_Rep10_M_dispose*;
151    _ZNSs4_Rep10_M_refcopyEv;
152    _ZNSs4_Rep10_M_refdataEv;
153    _ZNSs4_Rep12_S_empty_repEv;
154    _ZNSs4_Rep13_M_set_leakedEv;
155    _ZNSs4_Rep15_M_set_sharableEv;
156    _ZNSs4_Rep7_M_grab*;
157    _ZNSs4_Rep8_M_clone*;
158    _ZNSs4_Rep9_S_createE[jm][jm]*;
159    _ZNSs7_M_dataEPc;
160    _ZNSs7_M_leakEv;
161    _ZNSs9_M_mutateE[jm][jm][jm];
162    _ZNSs4_Rep20_S_empty_rep_storageE;
163    _ZNSs4_Rep11_S_max_sizeE;
164    _ZNSs4_Rep11_S_terminalE;
165    _ZNSsaSE*;
166    _ZNSsixE*;
167    _ZNSspLE*;
168    _ZNKSs[0-9][a-z]*;
169    _ZNKSs[0-9][0-9][a-z]*;
170    _ZNKSs[a-z]*;
171    _ZNKSs4_Rep12_M_is_leakedEv;
172    _ZNKSs4_Rep12_M_is_sharedEv;
173    _ZNKSs6_M_repEv;
174    _ZNKSs7_M_dataEv;
175    _ZNKSs7_M_iendEv;
176    _ZNKSs8_M_check*;
177    _ZNKSs8_M_limit*;
178    _ZNKSs9_M_ibeginEv;
179    _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_E*;
180
181    # std::wstring
182    _ZNSbIwSt11char_traitsIwESaIwEEC*;
183    _ZNSbIwSt11char_traitsIwESaIwEED*;
184    _ZNSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
185    _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC*;
186    _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv;
187    _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_;
188    _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv;
189    _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*;
190    _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_M_replace*;
191    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroy*;
192    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_dispose*;
193    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv;
194    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv;
195    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv;
196    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv;
197    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv;
198    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grab*;
199    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_clone*;
200    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createE[jm][jm]*;
201    _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw;
202    _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv;
203    _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateE[jm][jm][jm];
204    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE;
205    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE;
206    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE;
207    _ZNSbIwSt11char_traitsIwESaIwEEaSE*;
208    _ZNSbIwSt11char_traitsIwESaIwEEixE*;
209    _ZNSbIwSt11char_traitsIwESaIwEEpLE*;
210    _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
211    _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][0-9][a-z]*;
212    _ZNKSbIwSt11char_traitsIwESaIwEE[a-z]*;
213    _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv;
214    _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv;
215    _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv;
216    _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv;
217    _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv;
218    _ZNKSbIwSt11char_traitsIwESaIwEE8_M_check*;
219    _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limit*;
220    _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv;
221    _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_E*;
222
223    # std::basic_stringbuf
224    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[CD]*;
225    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][a-r]*;
226    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]seek*;
227    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]set*;
228    _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv;
229    _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv;
230    _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs;
231    _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E;
232    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][t-z]*;
233    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_M_[a-z]*;
234    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9]_M_[a-z]*;
235
236
237    # std::basic_iostream constructors, destructors
238    _ZNSdC*;
239    _ZNSdD*;
240
241    # std::basic_fstream
242    _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC*;
243    _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EED*;
244    _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5closeEv;
245    _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
246    _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4open*;
247    _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
248
249    # std::basic_ifstream
250    _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC*;
251    _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EED*;
252    _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5closeEv;
253    _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
254    _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4open*;
255    _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
256
257    # std::basic_ofstream
258    _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC*;
259    _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EED*;
260    _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5closeEv;
261    _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
262    _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4open*;
263    _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
264
265    # std::basic_istream<char>
266    _ZNSiC*;
267    _ZNSiD*;
268    _ZNKSi[0-9][a-z]*;
269    _ZNSi[0-9][a-h]*;
270    _ZNSi[0-9][j-z]*;
271    _ZNSi6ignoreE[il][il];
272    _ZNSirsE*[^g];
273
274    # std::basic_istream<wchar_t>
275    _ZNSt13basic_istreamIwSt11char_traitsIwEEC*;
276    _ZNSt13basic_istreamIwSt11char_traitsIwEED*;
277    _ZNKSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-z]*;
278    _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-h]*;
279    _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][j-z]*;
280    _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][ijlm];
281    _ZNSt13basic_istreamIwSt11char_traitsIwEErsE*[^g];
282
283    # std::istream operators and extractors
284    _ZSt7getlineI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
285    _ZSt2wsI[cw]St11char_traitsI[cw]EE*;
286    _ZStrsI[cw]St11char_traitsI[cw]EERSt13basic_istream*;
287    _ZStrsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
288    _ZStrsISt11char_traitsI[cw]EERSt13basic_istream*;
289    _ZStrsId[cw]St11char_traitsI[cw]EERSt13basic_istream*;
290    _ZStrsIe[cw]St11char_traitsI[cw]EERSt13basic_istream*;
291    _ZStrsIf[cw]St11char_traitsI[cw]EERSt13basic_istream*;
292
293    # std::basic_ostream<char>
294    _ZNSoC*;
295    _ZNSoD*;
296    _ZNKSo6sentrycvbEv;
297    _ZNSo8_M_writeEPKc[il];
298    _ZNSo[0-9][a-z]*;
299    _ZNSolsE*[^g];
300
301    # std::basic_ostream<wchar_t>
302    _ZNSt13basic_ostreamIwSt11char_traitsIwEEC*;
303    _ZNSt13basic_ostreamIwSt11char_traitsIwEED*;
304    _ZNKSt13basic_ostreamIwSt11char_traitsIwEE[0-9][a-z]*;
305    _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw;
306    _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv;
307    _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpE*;
308    _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv;
309    _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKw*;
310    _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry*;
311    _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKw[il];
312    _ZNSt13basic_ostreamIwSt11char_traitsIwEElsE*[^g];
313
314    # std::ostream operators and inserters
315    _ZSt4end[ls]I[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
316    _ZSt5flushI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
317    _ZStlsI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
318    _ZStlsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_ostream*;
319    _ZStlsISt11char_traitsI[cw]EERSt13basic_ostream*;
320    _ZStlsId[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
321    _ZStlsIe[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
322    _ZStlsIf[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
323
324    # std::locale destructors
325    _ZNSt6localeD*;
326	
327    # std::locale::facet destructors
328    _ZNSt6locale5facetD*;
329	 
330    # std::locale::_Impl constructors, destructors
331    _ZNSt6locale5_ImplC*;
332    _ZNSt6locale5_ImplD*;
333
334    # std::ios_base, std::ios_base::Init destructors
335    _ZNSt8ios_baseD*;
336    _ZNSt8ios_base4InitD*;
337
338    # bool std::has_facet 
339    _ZSt9has_facetIS*;
340
341    # std::num_get
342    _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
343
344    # std::num_put
345    _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
346
347    # std::money_get
348    _ZNKSt9money_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
349
350    # std::money_put
351    _ZNKSt9money_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
352
353    # std::numeric_limits
354    _ZNSt14numeric_limitsI[^g]*;
355
356    # std::_Rb_tree
357    _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
358    _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
359    _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
360    _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
361    _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_;
362    _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_;
363    _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
364    _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
365    _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_;
366
367    # std::__basic_file
368    _ZNKSt12__basic_fileIcE7is_openEv;
369    _ZNSt12__basic_fileIcE2fdEv;
370    _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei;
371    _ZNSt12__basic_fileIcE4syncEv;
372    _ZNSt12__basic_fileIcE5closeEv;
373    _ZNSt12__basic_fileIcE6xsgetn*;
374    _ZNSt12__basic_fileIcE6xsputn*;
375    _ZNSt12__basic_fileIcE7seekoff*;
376    _ZNSt12__basic_fileIcE8sys_openE*St13_Ios_Openmode;
377    _ZNSt12__basic_fileIcE8xsputn_2*;
378    _ZNSt12__basic_fileIcE9showmanycEv;
379    _ZNSt12__basic_fileIcEC*;
380    _ZNSt12__basic_fileIcED*;
381
382    # std::__convert_to_v
383    _ZSt14__convert_to_vI[^g]*;
384
385    # __gnu_cxx::stdio_sync_filebuf
386    _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
387
388    # __gnu_cxx::__atomic_add
389    # __gnu_cxx::__exchange_and_add
390    _ZN9__gnu_cxx12__atomic_addEPV[il]i;
391    _ZN9__gnu_cxx18__exchange_and_addEPV[il]i;
392
393    # debug mode
394    _ZN10__gnu_norm15_List_node_base4hook*;
395    _ZN10__gnu_norm15_List_node_base4swap*;
396    _ZN10__gnu_norm15_List_node_base6unhookEv;
397    _ZN10__gnu_norm15_List_node_base7reverseEv;
398    _ZN10__gnu_norm15_List_node_base8transfer*;
399
400    # operator new(size_t)
401    _Znw[jm];
402    # operator new(size_t, std::nothrow_t const&)
403    _Znw[jm]RKSt9nothrow_t;
404
405    # operator delete(void*)
406    _ZdlPv;
407    # operator delete(void*, std::nothrow_t const&)
408    _ZdlPvRKSt9nothrow_t;
409
410    # operator new[](size_t)
411    _Zna[jm];
412    # operator new[](size_t, std::nothrow_t const&)
413    _Zna[jm]RKSt9nothrow_t;
414
415    # operator delete[](void*)
416    _ZdaPv;
417    # operator delete[](void*, std::nothrow_t const&)
418    _ZdaPvRKSt9nothrow_t;
419
420    # virtual table
421    _ZTVNSt8ios_base7failureE;
422    _ZTVNSt6locale5facetE;
423    _ZTVS[a-z];
424    _ZTVSt[0-9][A-Za-z]*;
425    _ZTVSt[0-9][0-9][A-Za-z]*;
426    _ZTVSt11__timepunctI[cw]E;
427    _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
428    _ZTVSt21__ctype_abstract_baseI[cw]E;
429
430    # VTT structure
431    _ZTTS[a-z];
432    _ZTTSt[0-9][A-Za-z]*;
433    _ZTTSt[0-9][0-9][A-Za-z]*;
434
435    # typeinfo structure
436    _ZTIS[a-z];
437    _ZTINSt8ios_base7failureE;
438    _ZTINSt6locale5facetE;
439    _ZTISt[0-9][A-Za-z]*;
440    _ZTISt[0-9][0-9][A-Za-z]*;
441    _ZTISt11__timepunctI[cw]E;
442    _ZTISt10__num_base;
443    _ZTISt21__ctype_abstract_baseI[cw]E;
444    _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
445    _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
446    _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
447
448    # typeinfo name
449    _ZTSNSt8ios_base7failureE;
450    _ZTSNSt6locale5facetE;
451    _ZTSS[a-z];
452    _ZTSSt[0-9][A-Za-z]*;
453    _ZTSSt[0-9][0-9][A-Za-z]*;
454    _ZTSSt11__timepunctI[cw]E;
455    _ZTSSt10__num_base;
456    _ZTSSt21__ctype_abstract_baseI[cw]E;
457    _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
458    _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
459    _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
460
461    # std::bad_alloc::~bad_alloc, std::bad_cast::~bad_cast,
462    # std::bad_typeid::~bad_typeid, std::bad_exception::~bad_exception
463    _ZNSt9bad_allocD*;
464    _ZNSt8bad_castD*;
465    _ZNSt10bad_typeidD*;
466    _ZNSt13bad_exceptionD*;
467
468    # function-scope static objects requires a guard variable.
469    _ZGVNSt[^1]*;
470    _ZGVNSt1[^7]*;
471
472    # virtual function thunks
473    _ZThn8_NS*;
474    _ZThn16_NS*;
475    _ZTv0_n12_NS*;
476    _ZTv0_n24_NS*;
477
478    # stub functions from libmath
479    sinf;
480    sinl;
481    sinhf;
482    sinhl;
483    cosf;
484    cosl;
485    coshf;
486    coshl;
487    tanf;
488    tanl;
489    tanhf;
490    tanhl;
491    atan2f;
492    atan2l;
493    expf;
494    expl;
495    hypotf;
496    hypotl;
497    hypot;
498    logf;
499    logl;
500    log10f;
501    log10l;
502    powf;
503    powl;
504    sqrtf;
505    sqrtl;
506    copysignf;
507    __signbit;
508    __signbitf;
509    __signbitl;
510
511   # GLIBCXX_ABI compatibility only.
512    # std::string
513    _ZNKSs11_M_disjunctEPKc;
514    _ZNKSs15_M_check_lengthE[jm][jm]PKc;
515    _ZNSs4_Rep26_M_set_length_and_sharableE*;
516    _ZNSs7_M_copyEPcPKc[jm];
517    _ZNSs7_M_moveEPcPKc[jm];
518    _ZNSs9_M_assignEPc[jm]c;
519
520    # std::wstring
521    _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
522    _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jm][jm]PKc;
523    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
524    _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jm];
525    _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jm];
526    _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jm]w;
527
528    _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
529    _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
530    _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
531
532    _ZNSi6ignoreE[ilv];
533    _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilv];
534
535    _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_;
536
537    _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv;
538
539    # std::locale::Impl _M_ members
540    _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE;
541    _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE;
542    _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE;
543    _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i;
544
545  # DO NOT DELETE THIS LINE.  Port-specific symbols, if any, will be here.
546
547  local:
548    *;
549};
550
551GLIBCXX_3.4.1 {
552 
553    _ZNSt12__basic_fileIcE4fileEv;
554 
555} GLIBCXX_3.4;
556 
557GLIBCXX_3.4.2 {
558
559    _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4fileEv;
560
561    _ZN9__gnu_cxx17__pool_alloc_base9_M_refillE[jm];
562    _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listE[jm];
563    _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv;
564
565} GLIBCXX_3.4.1;
566
567GLIBCXX_3.4.3 {
568 
569    # stub functions from libmath
570    acosf;
571    acosl;
572    asinf;
573    asinl;
574    atanf;
575    atanl;
576    ceilf;
577    ceill;
578    floorf;
579    floorl;
580    fmodf;
581    fmodl;
582    frexpf;
583    frexpl;
584    ldexpf;
585    ldexpl;
586    modff;
587    modfl;
588
589} GLIBCXX_3.4.2;
590
591GLIBCXX_3.4.4 {
592
593    _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv;
594    _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE;
595    _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv;
596    _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv;
597    _ZN9__gnu_cxx6__poolILb[01]EE16_M_reserve_blockE[jm][jm];
598    _ZN9__gnu_cxx6__poolILb[01]EE16_M_reclaim_blockEPc[jm];
599    _ZN9__gnu_cxx6__poolILb[01]EE10_M_destroyEv;
600
601    _ZN9__gnu_cxx9free_list6_M_getE*;
602    _ZN9__gnu_cxx9free_list8_M_clearEv;
603
604} GLIBCXX_3.4.3;
605
606GLIBCXX_3.4.5 {
607
608    # std::string
609    _ZNKSs11_M_disjunctEPKc;
610    _ZNKSs15_M_check_lengthE[jm][jm]PKc;
611    _ZNSs4_Rep26_M_set_length_and_sharableE*;
612    _ZNSs7_M_copyEPcPKc[jm];
613    _ZNSs7_M_moveEPcPKc[jm];
614    _ZNSs9_M_assignEPc[jm]c;
615
616    # std::wstring
617    _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
618    _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jm][jm]PKc;
619    _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
620    _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jm];
621    _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jm];
622    _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jm]w;
623
624    _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
625    _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
626    _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
627
628    _ZNSi6ignoreE[ilv];
629    _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilv];
630
631    _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_;
632
633    _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv;
634
635} GLIBCXX_3.4.4;
636
637GLIBCXX_3.4.6 {
638
639    _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EEiPSt15basic_streambuf*;
640    _ZNSt8ios_base17_M_call_callbacksENS_5eventE;
641    _ZNSt8ios_base20_M_dispose_callbacksEv;
642    _ZNSt6locale5facet13_S_get_c_nameEv;
643
644    _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv;
645
646    _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv;
647
648    _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv;
649
650} GLIBCXX_3.4.5;
651
652GLIBCXX_3.4.7 {
653
654    _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetE[jm];
655
656} GLIBCXX_3.4.6;
657
658GLIBCXX_3.4.8 {
659
660    _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EElPSt15basic_streambuf*;
661
662} GLIBCXX_3.4.7;
663
664GLIBCXX_3.4.9 {
665
666    _ZNSt6__norm15_List_node_base4hook*;
667    _ZNSt6__norm15_List_node_base4swap*;
668    _ZNSt6__norm15_List_node_base6unhookEv;
669    _ZNSt6__norm15_List_node_base7reverseEv;
670    _ZNSt6__norm15_List_node_base8transfer*;
671
672    _ZNSo9_M_insertI[^g]*;
673    _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertI[^g]*;
674    _ZNSi10_M_extractI[^g]*;
675    _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractI[^g]*;
676
677    _ZSt21__copy_streambufs_eofI[cw]St11char_traitsI[cw]EE[il]PSt15basic_streambuf*;
678
679    _ZSt16__ostream_insert*;
680
681    _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
682    _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
683    _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
684    _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
685
686    _ZNKSt9bad_alloc4whatEv;
687    _ZNKSt8bad_cast4whatEv;
688    _ZNKSt10bad_typeid4whatEv;
689    _ZNKSt13bad_exception4whatEv;
690
691} GLIBCXX_3.4.8;
692
693
694# Symbols in the support library (libsupc++) have their own tag.
695CXXABI_1.3 {
696
697  global:
698    __cxa_allocate_exception;
699    __cxa_bad_cast;
700    __cxa_bad_typeid;
701    __cxa_begin_catch;
702    __cxa_begin_cleanup;
703    __cxa_call_unexpected;
704    __cxa_current_exception_type;
705    __cxa_demangle;
706    __cxa_end_catch;
707    __cxa_end_cleanup;
708    __cxa_free_exception;
709    __cxa_get_globals;
710    __cxa_get_globals_fast;
711    __cxa_guard_abort;
712    __cxa_guard_acquire;
713    __cxa_guard_release;
714    __cxa_pure_virtual;
715    __cxa_rethrow;
716    __cxa_throw;
717    __cxa_type_match;
718    __cxa_vec_cctor;
719    __cxa_vec_cleanup;
720    __cxa_vec_ctor;
721    __cxa_vec_delete2;
722    __cxa_vec_delete3;
723    __cxa_vec_delete;
724    __cxa_vec_dtor;
725    __cxa_vec_new2;
726    __cxa_vec_new3;
727    __cxa_vec_new;
728    __gxx_personality_v0;
729    __gxx_personality_sj0;
730    __dynamic_cast;
731
732    # *_type_info classes, ctor and dtor
733    _ZN10__cxxabiv117__array_type_info*;
734    _ZN10__cxxabiv117__class_type_info*;
735    _ZN10__cxxabiv116__enum_type_info*;
736    _ZN10__cxxabiv120__function_type_info*;
737    _ZN10__cxxabiv123__fundamental_type_info*;
738    _ZN10__cxxabiv117__pbase_type_info*;
739    _ZN10__cxxabiv129__pointer_to_member_type_info*;
740    _ZN10__cxxabiv119__pointer_type_info*;
741    _ZN10__cxxabiv120__si_class_type_info*;
742    _ZN10__cxxabiv121__vmi_class_type_info*;
743
744    # *_type_info classes, member functions
745    _ZNK10__cxxabiv117__class_type_info*;
746    _ZNK10__cxxabiv120__function_type_info*;
747    _ZNK10__cxxabiv117__pbase_type_info*;
748    _ZNK10__cxxabiv129__pointer_to_member_type_info*;
749    _ZNK10__cxxabiv119__pointer_type_info*;
750    _ZNK10__cxxabiv120__si_class_type_info*;
751    _ZNK10__cxxabiv121__vmi_class_type_info*;
752
753    # virtual table
754    _ZTVN10__cxxabiv117__array_type_infoE;
755    _ZTVN10__cxxabiv117__class_type_infoE;
756    _ZTVN10__cxxabiv116__enum_type_infoE;
757    _ZTVN10__cxxabiv120__function_type_infoE;
758    _ZTVN10__cxxabiv123__fundamental_type_infoE;
759    _ZTVN10__cxxabiv117__pbase_type_infoE;
760    _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
761    _ZTVN10__cxxabiv119__pointer_type_infoE;
762    _ZTVN10__cxxabiv120__si_class_type_infoE;
763    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
764
765    # typeinfo structure (and some names)
766    _ZTI[a-fh-z];
767    _ZTIP[a-fh-z];
768    _ZTIPK[a-fh-z];
769    _ZTIN10__cxxabiv117__array_type_infoE;
770    _ZTIN10__cxxabiv117__class_type_infoE;
771    _ZTIN10__cxxabiv116__enum_type_infoE;
772    _ZTIN10__cxxabiv120__function_type_infoE;
773    _ZTIN10__cxxabiv123__fundamental_type_infoE;
774    _ZTIN10__cxxabiv117__pbase_type_infoE;
775    _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
776    _ZTIN10__cxxabiv119__pointer_type_infoE;
777    _ZTIN10__cxxabiv120__si_class_type_infoE;
778    _ZTIN10__cxxabiv121__vmi_class_type_infoE;
779
780    # typeinfo name
781    _ZTS[a-fh-z];
782    _ZTSP[a-fh-z];
783    _ZTSPK[a-fh-z];
784    _ZTSN10__cxxabiv117__array_type_infoE;
785    _ZTSN10__cxxabiv117__class_type_infoE;
786    _ZTSN10__cxxabiv116__enum_type_infoE;
787    _ZTSN10__cxxabiv120__function_type_infoE;
788    _ZTSN10__cxxabiv123__fundamental_type_infoE;
789    _ZTSN10__cxxabiv117__pbase_type_infoE;
790    _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
791    _ZTSN10__cxxabiv119__pointer_type_infoE;
792    _ZTSN10__cxxabiv120__si_class_type_infoE;
793    _ZTSN10__cxxabiv121__vmi_class_type_infoE;
794
795    # __gnu_cxx::_verbose_terminate_handler()
796    _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
797
798  local:
799    *;
800};
801
802CXXABI_1.3.1 {
803
804    __cxa_get_exception_ptr;
805
806} CXXABI_1.3;
807