Skip to content

Commit 223df5b

Browse files
committed
[libcxxabi] Use an explicit list to export symbols from the dylib
Reviewers: EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D63345 llvm-svn: 364586
1 parent a95ca2b commit 223df5b

File tree

5 files changed

+416
-0
lines changed

5 files changed

+416
-0
lines changed

libcxxabi/lib/itanium-base.exp

Lines changed: 373 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,373 @@
1+
# Typeinfos for fundamental types
2+
__ZTIa
3+
__ZTIb
4+
__ZTIc
5+
__ZTId
6+
__ZTIDh
7+
__ZTIDi
8+
__ZTIDn
9+
__ZTIDs
10+
__ZTIDu
11+
__ZTIe
12+
__ZTIf
13+
__ZTIg
14+
__ZTIh
15+
__ZTIi
16+
__ZTIj
17+
__ZTIl
18+
__ZTIm
19+
__ZTIn
20+
__ZTIo
21+
__ZTIPa
22+
__ZTIPb
23+
__ZTIPc
24+
__ZTIPd
25+
__ZTIPDh
26+
__ZTIPDi
27+
__ZTIPDn
28+
__ZTIPDs
29+
__ZTIPDu
30+
__ZTIPe
31+
__ZTIPf
32+
__ZTIPg
33+
__ZTIPh
34+
__ZTIPi
35+
__ZTIPj
36+
__ZTIPKa
37+
__ZTIPKb
38+
__ZTIPKc
39+
__ZTIPKd
40+
__ZTIPKDh
41+
__ZTIPKDi
42+
__ZTIPKDn
43+
__ZTIPKDs
44+
__ZTIPKDu
45+
__ZTIPKe
46+
__ZTIPKf
47+
__ZTIPKg
48+
__ZTIPKh
49+
__ZTIPKi
50+
__ZTIPKj
51+
__ZTIPKl
52+
__ZTIPKm
53+
__ZTIPKn
54+
__ZTIPKo
55+
__ZTIPKs
56+
__ZTIPKt
57+
__ZTIPKv
58+
__ZTIPKw
59+
__ZTIPKx
60+
__ZTIPKy
61+
__ZTIPl
62+
__ZTIPm
63+
__ZTIPn
64+
__ZTIPo
65+
__ZTIPs
66+
__ZTIPt
67+
__ZTIPv
68+
__ZTIPw
69+
__ZTIPx
70+
__ZTIPy
71+
__ZTIs
72+
__ZTIt
73+
__ZTIv
74+
__ZTIw
75+
__ZTIx
76+
__ZTIy
77+
78+
# Typeinfo names for fundamental types
79+
__ZTSa
80+
__ZTSb
81+
__ZTSc
82+
__ZTSd
83+
__ZTSDh
84+
__ZTSDi
85+
__ZTSDn
86+
__ZTSDs
87+
__ZTSDu
88+
__ZTSe
89+
__ZTSf
90+
__ZTSg
91+
__ZTSh
92+
__ZTSi
93+
__ZTSj
94+
__ZTSl
95+
__ZTSm
96+
__ZTSn
97+
__ZTSo
98+
__ZTSPa
99+
__ZTSPb
100+
__ZTSPc
101+
__ZTSPd
102+
__ZTSPDh
103+
__ZTSPDi
104+
__ZTSPDn
105+
__ZTSPDs
106+
__ZTSPDu
107+
__ZTSPe
108+
__ZTSPf
109+
__ZTSPg
110+
__ZTSPh
111+
__ZTSPi
112+
__ZTSPj
113+
__ZTSPKa
114+
__ZTSPKb
115+
__ZTSPKc
116+
__ZTSPKd
117+
__ZTSPKDh
118+
__ZTSPKDi
119+
__ZTSPKDn
120+
__ZTSPKDs
121+
__ZTSPKDu
122+
__ZTSPKe
123+
__ZTSPKf
124+
__ZTSPKg
125+
__ZTSPKh
126+
__ZTSPKi
127+
__ZTSPKj
128+
__ZTSPKl
129+
__ZTSPKm
130+
__ZTSPKn
131+
__ZTSPKo
132+
__ZTSPKs
133+
__ZTSPKt
134+
__ZTSPKv
135+
__ZTSPKw
136+
__ZTSPKx
137+
__ZTSPKy
138+
__ZTSPl
139+
__ZTSPm
140+
__ZTSPn
141+
__ZTSPo
142+
__ZTSPs
143+
__ZTSPt
144+
__ZTSPv
145+
__ZTSPw
146+
__ZTSPx
147+
__ZTSPy
148+
__ZTSs
149+
__ZTSt
150+
__ZTSv
151+
__ZTSw
152+
__ZTSx
153+
__ZTSy
154+
155+
# Typeinfos for types from libc++abi
156+
__ZTIN10__cxxabiv116__enum_type_infoE
157+
__ZTIN10__cxxabiv116__shim_type_infoE
158+
__ZTIN10__cxxabiv117__array_type_infoE
159+
__ZTIN10__cxxabiv117__class_type_infoE
160+
__ZTIN10__cxxabiv117__pbase_type_infoE
161+
__ZTIN10__cxxabiv119__pointer_type_infoE
162+
__ZTIN10__cxxabiv120__function_type_infoE
163+
__ZTIN10__cxxabiv120__si_class_type_infoE
164+
__ZTIN10__cxxabiv121__vmi_class_type_infoE
165+
__ZTIN10__cxxabiv123__fundamental_type_infoE
166+
__ZTIN10__cxxabiv129__pointer_to_member_type_infoE
167+
168+
# Typeinfo names for types from libc++abi
169+
__ZTSN10__cxxabiv116__enum_type_infoE
170+
__ZTSN10__cxxabiv116__shim_type_infoE
171+
__ZTSN10__cxxabiv117__array_type_infoE
172+
__ZTSN10__cxxabiv117__class_type_infoE
173+
__ZTSN10__cxxabiv117__pbase_type_infoE
174+
__ZTSN10__cxxabiv119__pointer_type_infoE
175+
__ZTSN10__cxxabiv120__function_type_infoE
176+
__ZTSN10__cxxabiv120__si_class_type_infoE
177+
__ZTSN10__cxxabiv121__vmi_class_type_infoE
178+
__ZTSN10__cxxabiv123__fundamental_type_infoE
179+
__ZTSN10__cxxabiv129__pointer_to_member_type_infoE
180+
181+
# Typeinfos for std:: exception types
182+
__ZTISt10bad_typeid
183+
__ZTISt11logic_error
184+
__ZTISt11range_error
185+
__ZTISt12domain_error
186+
__ZTISt12length_error
187+
__ZTISt12out_of_range
188+
__ZTISt13bad_exception
189+
__ZTISt13runtime_error
190+
__ZTISt14overflow_error
191+
__ZTISt15underflow_error
192+
__ZTISt16invalid_argument
193+
__ZTISt20bad_array_new_length
194+
__ZTISt8bad_cast
195+
__ZTISt9bad_alloc
196+
__ZTISt9exception
197+
__ZTISt9type_info
198+
199+
# Typeinfo names for std:: exception types
200+
__ZTSSt10bad_typeid
201+
__ZTSSt11logic_error
202+
__ZTSSt11range_error
203+
__ZTSSt12domain_error
204+
__ZTSSt12length_error
205+
__ZTSSt12out_of_range
206+
__ZTSSt13bad_exception
207+
__ZTSSt13runtime_error
208+
__ZTSSt14overflow_error
209+
__ZTSSt15underflow_error
210+
__ZTSSt16invalid_argument
211+
__ZTSSt20bad_array_new_length
212+
__ZTSSt8bad_cast
213+
__ZTSSt9bad_alloc
214+
__ZTSSt9exception
215+
__ZTSSt9type_info
216+
217+
# Vtables for libc++abi types
218+
__ZTVN10__cxxabiv116__enum_type_infoE
219+
__ZTVN10__cxxabiv116__shim_type_infoE
220+
__ZTVN10__cxxabiv117__array_type_infoE
221+
__ZTVN10__cxxabiv117__class_type_infoE
222+
__ZTVN10__cxxabiv117__pbase_type_infoE
223+
__ZTVN10__cxxabiv119__pointer_type_infoE
224+
__ZTVN10__cxxabiv120__function_type_infoE
225+
__ZTVN10__cxxabiv120__si_class_type_infoE
226+
__ZTVN10__cxxabiv121__vmi_class_type_infoE
227+
__ZTVN10__cxxabiv123__fundamental_type_infoE
228+
__ZTVN10__cxxabiv129__pointer_to_member_type_infoE
229+
230+
# Vtables for std:: exception types
231+
__ZTVSt10bad_typeid
232+
__ZTVSt11logic_error
233+
__ZTVSt11range_error
234+
__ZTVSt12domain_error
235+
__ZTVSt12length_error
236+
__ZTVSt12out_of_range
237+
__ZTVSt13bad_exception
238+
__ZTVSt13runtime_error
239+
__ZTVSt14overflow_error
240+
__ZTVSt15underflow_error
241+
__ZTVSt16invalid_argument
242+
__ZTVSt20bad_array_new_length
243+
__ZTVSt8bad_cast
244+
__ZTVSt9bad_alloc
245+
__ZTVSt9exception
246+
__ZTVSt9type_info
247+
248+
# Itanium C++ ABI requirements
249+
___cxa_allocate_dependent_exception
250+
___cxa_allocate_exception
251+
___cxa_bad_cast
252+
___cxa_bad_typeid
253+
___cxa_begin_catch
254+
___cxa_call_unexpected
255+
___cxa_current_exception_type
256+
___cxa_current_primary_exception
257+
___cxa_decrement_exception_refcount
258+
___cxa_deleted_virtual
259+
___cxa_demangle
260+
___cxa_end_catch
261+
___cxa_free_dependent_exception
262+
___cxa_free_exception
263+
___cxa_get_exception_ptr
264+
___cxa_get_globals
265+
___cxa_get_globals_fast
266+
___cxa_guard_abort
267+
___cxa_guard_acquire
268+
___cxa_guard_release
269+
___cxa_increment_exception_refcount
270+
___cxa_pure_virtual
271+
___cxa_rethrow
272+
___cxa_rethrow_primary_exception
273+
___cxa_throw
274+
___cxa_throw_bad_array_new_length
275+
___cxa_uncaught_exception
276+
___cxa_uncaught_exceptions
277+
___cxa_vec_cctor
278+
___cxa_vec_cleanup
279+
___cxa_vec_ctor
280+
___cxa_vec_delete
281+
___cxa_vec_delete2
282+
___cxa_vec_delete3
283+
___cxa_vec_dtor
284+
___cxa_vec_new
285+
___cxa_vec_new2
286+
___cxa_vec_new3
287+
___dynamic_cast
288+
___cxa_terminate_handler
289+
___cxa_unexpected_handler
290+
___cxa_new_handler
291+
292+
# ::what() functions for std:: exception types
293+
__ZNKSt10bad_typeid4whatEv
294+
__ZNKSt11logic_error4whatEv
295+
__ZNKSt13bad_exception4whatEv
296+
__ZNKSt13runtime_error4whatEv
297+
__ZNKSt20bad_array_new_length4whatEv
298+
__ZNKSt8bad_cast4whatEv
299+
__ZNKSt9bad_alloc4whatEv
300+
__ZNKSt9exception4whatEv
301+
302+
# Default constructors and destructors for std:: exception types
303+
__ZNSt10bad_typeidC1Ev
304+
__ZNSt10bad_typeidC2Ev
305+
__ZNSt10bad_typeidD0Ev
306+
__ZNSt10bad_typeidD1Ev
307+
__ZNSt10bad_typeidD2Ev
308+
__ZNSt11logic_errorD0Ev
309+
__ZNSt11logic_errorD1Ev
310+
__ZNSt11logic_errorD2Ev
311+
__ZNSt11range_errorD0Ev
312+
__ZNSt11range_errorD1Ev
313+
__ZNSt11range_errorD2Ev
314+
__ZNSt12domain_errorD0Ev
315+
__ZNSt12domain_errorD1Ev
316+
__ZNSt12domain_errorD2Ev
317+
__ZNSt12length_errorD0Ev
318+
__ZNSt12length_errorD1Ev
319+
__ZNSt12length_errorD2Ev
320+
__ZNSt12out_of_rangeD0Ev
321+
__ZNSt12out_of_rangeD1Ev
322+
__ZNSt12out_of_rangeD2Ev
323+
__ZNSt13bad_exceptionD0Ev
324+
__ZNSt13bad_exceptionD1Ev
325+
__ZNSt13bad_exceptionD2Ev
326+
__ZNSt13runtime_errorD0Ev
327+
__ZNSt13runtime_errorD1Ev
328+
__ZNSt13runtime_errorD2Ev
329+
__ZNSt14overflow_errorD0Ev
330+
__ZNSt14overflow_errorD1Ev
331+
__ZNSt14overflow_errorD2Ev
332+
__ZNSt15underflow_errorD0Ev
333+
__ZNSt15underflow_errorD1Ev
334+
__ZNSt15underflow_errorD2Ev
335+
__ZNSt16invalid_argumentD0Ev
336+
__ZNSt16invalid_argumentD1Ev
337+
__ZNSt16invalid_argumentD2Ev
338+
__ZNSt20bad_array_new_lengthC1Ev
339+
__ZNSt20bad_array_new_lengthC2Ev
340+
__ZNSt20bad_array_new_lengthD0Ev
341+
__ZNSt20bad_array_new_lengthD1Ev
342+
__ZNSt20bad_array_new_lengthD2Ev
343+
__ZNSt8bad_castC1Ev
344+
__ZNSt8bad_castC2Ev
345+
__ZNSt8bad_castD0Ev
346+
__ZNSt8bad_castD1Ev
347+
__ZNSt8bad_castD2Ev
348+
__ZNSt9bad_allocC1Ev
349+
__ZNSt9bad_allocC2Ev
350+
__ZNSt9bad_allocD0Ev
351+
__ZNSt9bad_allocD1Ev
352+
__ZNSt9bad_allocD2Ev
353+
__ZNSt9exceptionD0Ev
354+
__ZNSt9exceptionD1Ev
355+
__ZNSt9exceptionD2Ev
356+
__ZNSt9type_infoD0Ev
357+
__ZNSt9type_infoD1Ev
358+
__ZNSt9type_infoD2Ev
359+
360+
# Other std:: functions implemented in libc++abi
361+
__ZSt10unexpectedv
362+
__ZSt13get_terminatev
363+
__ZSt13set_terminatePFvvE
364+
__ZSt14get_unexpectedv
365+
__ZSt14set_unexpectedPFvvE
366+
__ZSt15get_new_handlerv
367+
__ZSt15set_new_handlerPFvvE
368+
__ZSt9terminatev
369+
370+
# Misc
371+
__ZN10__cxxabiv119__getExceptionClassEPK17_Unwind_Exception
372+
__ZN10__cxxabiv119__setExceptionClassEP17_Unwind_Exceptiony
373+
__ZN10__cxxabiv121__isOurExceptionClassEPK17_Unwind_Exception

libcxxabi/lib/new-delete.exp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
__Znwm
2+
__ZnwmRKSt9nothrow_t
3+
__ZnwmSt11align_val_t
4+
__ZnwmSt11align_val_tRKSt9nothrow_t
5+
__ZdaPv
6+
__ZdaPvm
7+
__ZdaPvmSt11align_val_t
8+
__ZdaPvRKSt9nothrow_t
9+
__ZdaPvSt11align_val_t
10+
__ZdaPvSt11align_val_tRKSt9nothrow_t
11+
__ZdlPv
12+
__ZdlPvm
13+
__ZdlPvmSt11align_val_t
14+
__ZdlPvRKSt9nothrow_t
15+
__ZdlPvSt11align_val_t
16+
__ZdlPvSt11align_val_tRKSt9nothrow_t
17+
__Znam
18+
__ZnamRKSt9nothrow_t
19+
__ZnamSt11align_val_t
20+
__ZnamSt11align_val_tRKSt9nothrow_t

libcxxabi/lib/personality-sjlj.exp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
___gxx_personality_sj0

libcxxabi/lib/personality-v0.exp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
___gxx_personality_v0

0 commit comments

Comments
 (0)