mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 23:51:56 +00:00
[libc++] Fix the no-exceptions build of libc++ on Apple
We previously tried re-exporting symbols that didn't exist when exceptions were disabled. Note that building libc++abi without exceptions still doesn't work when linking against the default-provided libSystem.dylib, because it transitively depends on libobjc.dylib, and that requires __gxx_personality_v0. But building libc++abi with exceptions and libc++ without exceptions does work.
This commit is contained in:
parent
865996ddf6
commit
ecf313c01d
@ -21,7 +21,8 @@ if (EXISTS "${ABILIST_FILE}"
|
||||
AND TARGET cxx_shared
|
||||
AND ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi" OR
|
||||
(APPLE AND "${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "default"))
|
||||
AND NOT LIBCXX_ABI_UNSTABLE)
|
||||
AND NOT LIBCXX_ABI_UNSTABLE
|
||||
AND LIBCXX_ENABLE_EXCEPTIONS)
|
||||
add_custom_target(check-cxx-abilist
|
||||
${SYMDIFF_EXE} --only-stdlib-symbols --strict ${ABILIST_FILE}
|
||||
$<TARGET_SONAME_FILE:cxx_shared>
|
||||
|
10
libcxx/lib/libc++abi-exceptions.exp
Normal file
10
libcxx/lib/libc++abi-exceptions.exp
Normal file
@ -0,0 +1,10 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_begin_catch
|
||||
___cxa_call_unexpected
|
||||
___cxa_current_exception_type
|
||||
___cxa_end_catch
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_rethrow
|
||||
___cxa_throw
|
||||
___gxx_personality_v0
|
10
libcxx/lib/libc++abi-exceptions.sjlj.exp
Normal file
10
libcxx/lib/libc++abi-exceptions.sjlj.exp
Normal file
@ -0,0 +1,10 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_begin_catch
|
||||
___cxa_call_unexpected
|
||||
___cxa_current_exception_type
|
||||
___cxa_end_catch
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_rethrow
|
||||
___cxa_throw
|
||||
___gxx_personality_sj0
|
@ -1,20 +1,11 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_end_catch
|
||||
___cxa_demangle
|
||||
___cxa_current_exception_type
|
||||
___cxa_call_unexpected
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_get_globals
|
||||
___cxa_get_globals_fast
|
||||
___cxa_guard_abort
|
||||
___cxa_guard_acquire
|
||||
___cxa_guard_release
|
||||
___cxa_rethrow
|
||||
___cxa_pure_virtual
|
||||
___cxa_deleted_virtual
|
||||
___cxa_begin_catch
|
||||
___cxa_throw
|
||||
___cxa_vec_cctor
|
||||
___cxa_vec_cleanup
|
||||
___cxa_vec_ctor
|
||||
@ -26,7 +17,6 @@ ___cxa_vec_new
|
||||
___cxa_vec_new2
|
||||
___cxa_vec_new3
|
||||
___dynamic_cast
|
||||
___gxx_personality_v0
|
||||
__ZTIDi
|
||||
__ZTIDn
|
||||
__ZTIDs
|
||||
|
@ -1,20 +1,11 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_end_catch
|
||||
___cxa_demangle
|
||||
___cxa_current_exception_type
|
||||
___cxa_call_unexpected
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_get_globals
|
||||
___cxa_get_globals_fast
|
||||
___cxa_guard_abort
|
||||
___cxa_guard_acquire
|
||||
___cxa_guard_release
|
||||
___cxa_rethrow
|
||||
___cxa_pure_virtual
|
||||
___cxa_deleted_virtual
|
||||
___cxa_begin_catch
|
||||
___cxa_throw
|
||||
___cxa_throw_bad_array_new_length
|
||||
___cxa_uncaught_exceptions
|
||||
___cxa_vec_cctor
|
||||
@ -28,7 +19,6 @@ ___cxa_vec_new
|
||||
___cxa_vec_new2
|
||||
___cxa_vec_new3
|
||||
___dynamic_cast
|
||||
___gxx_personality_v0
|
||||
__ZTIDi
|
||||
__ZTIDn
|
||||
__ZTIDs
|
||||
|
@ -1,160 +0,0 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_end_catch
|
||||
___cxa_demangle
|
||||
___cxa_current_exception_type
|
||||
___cxa_call_unexpected
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_get_globals
|
||||
___cxa_get_globals_fast
|
||||
___cxa_guard_abort
|
||||
___cxa_guard_acquire
|
||||
___cxa_guard_release
|
||||
___cxa_rethrow
|
||||
___cxa_pure_virtual
|
||||
___cxa_deleted_virtual
|
||||
___cxa_begin_catch
|
||||
___cxa_throw
|
||||
___cxa_vec_cctor
|
||||
___cxa_vec_cleanup
|
||||
___cxa_vec_ctor
|
||||
___cxa_vec_delete
|
||||
___cxa_vec_delete2
|
||||
___cxa_vec_delete3
|
||||
___cxa_vec_dtor
|
||||
___cxa_vec_new
|
||||
___cxa_vec_new2
|
||||
___cxa_vec_new3
|
||||
___dynamic_cast
|
||||
___gxx_personality_sj0
|
||||
__ZTIDi
|
||||
__ZTIDn
|
||||
__ZTIDs
|
||||
__ZTIPDi
|
||||
__ZTIPDn
|
||||
__ZTIPDs
|
||||
__ZTIPKDi
|
||||
__ZTIPKDn
|
||||
__ZTIPKDs
|
||||
__ZTSPm
|
||||
__ZTSPl
|
||||
__ZTSPj
|
||||
__ZTSPi
|
||||
__ZTSPh
|
||||
__ZTSPf
|
||||
__ZTSPe
|
||||
__ZTSPd
|
||||
__ZTSPc
|
||||
__ZTSPb
|
||||
__ZTSPa
|
||||
__ZTSPKc
|
||||
__ZTSPKy
|
||||
__ZTSPKx
|
||||
__ZTSPKw
|
||||
__ZTSPKv
|
||||
__ZTSPKt
|
||||
__ZTSPKs
|
||||
__ZTSPKm
|
||||
__ZTSPKl
|
||||
__ZTSPKi
|
||||
__ZTSPKh
|
||||
__ZTSPs
|
||||
__ZTSPt
|
||||
__ZTSPv
|
||||
__ZTSPw
|
||||
__ZTSPKa
|
||||
__ZTSPx
|
||||
__ZTSPy
|
||||
__ZTSPKd
|
||||
__ZTSPKe
|
||||
__ZTSPKj
|
||||
__ZTSPKb
|
||||
__ZTSPKf
|
||||
__ZTSv
|
||||
__ZTSt
|
||||
__ZTSs
|
||||
__ZTSm
|
||||
__ZTSl
|
||||
__ZTSj
|
||||
__ZTSi
|
||||
__ZTSh
|
||||
__ZTSf
|
||||
__ZTSe
|
||||
__ZTSd
|
||||
__ZTSc
|
||||
__ZTSw
|
||||
__ZTSx
|
||||
__ZTSy
|
||||
__ZTSb
|
||||
__ZTSa
|
||||
__ZTIPKh
|
||||
__ZTIPKf
|
||||
__ZTIPKe
|
||||
__ZTIPKd
|
||||
__ZTIPKc
|
||||
__ZTIPKb
|
||||
__ZTIPKa
|
||||
__ZTIPy
|
||||
__ZTIPx
|
||||
__ZTIPw
|
||||
__ZTIPv
|
||||
__ZTIPt
|
||||
__ZTIPs
|
||||
__ZTIPm
|
||||
__ZTIPl
|
||||
__ZTIPj
|
||||
__ZTIPi
|
||||
__ZTIPKi
|
||||
__ZTIPKj
|
||||
__ZTIPKl
|
||||
__ZTIPKm
|
||||
__ZTIPKs
|
||||
__ZTIPKt
|
||||
__ZTIPKv
|
||||
__ZTIPKw
|
||||
__ZTIPKx
|
||||
__ZTIPKy
|
||||
__ZTIPa
|
||||
__ZTIPb
|
||||
__ZTIPc
|
||||
__ZTIPd
|
||||
__ZTIPe
|
||||
__ZTIPf
|
||||
__ZTIPh
|
||||
__ZTVN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
__ZTVN10__cxxabiv116__enum_type_infoE
|
||||
__ZTVN10__cxxabiv117__array_type_infoE
|
||||
__ZTVN10__cxxabiv117__class_type_infoE
|
||||
__ZTVN10__cxxabiv117__pbase_type_infoE
|
||||
__ZTVN10__cxxabiv119__pointer_type_infoE
|
||||
__ZTVN10__cxxabiv120__function_type_infoE
|
||||
__ZTVN10__cxxabiv120__si_class_type_infoE
|
||||
__ZTVN10__cxxabiv121__vmi_class_type_infoE
|
||||
__ZTVN10__cxxabiv123__fundamental_type_infoE
|
||||
__ZTIa
|
||||
__ZTIb
|
||||
__ZTIc
|
||||
__ZTId
|
||||
__ZTIe
|
||||
__ZTIf
|
||||
__ZTIh
|
||||
__ZTIi
|
||||
__ZTIj
|
||||
__ZTIl
|
||||
__ZTIm
|
||||
__ZTIs
|
||||
__ZTIt
|
||||
__ZTSN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
__ZTSN10__cxxabiv123__fundamental_type_infoE
|
||||
__ZTSN10__cxxabiv121__vmi_class_type_infoE
|
||||
__ZTSN10__cxxabiv120__si_class_type_infoE
|
||||
__ZTSN10__cxxabiv120__function_type_infoE
|
||||
__ZTSN10__cxxabiv119__pointer_type_infoE
|
||||
__ZTSN10__cxxabiv117__pbase_type_infoE
|
||||
__ZTSN10__cxxabiv117__class_type_infoE
|
||||
__ZTSN10__cxxabiv117__array_type_infoE
|
||||
__ZTSN10__cxxabiv116__enum_type_infoE
|
||||
__ZTIy
|
||||
__ZTIx
|
||||
__ZTIw
|
||||
__ZTIv
|
@ -1,310 +0,0 @@
|
||||
___cxa_allocate_exception
|
||||
___cxa_end_catch
|
||||
___cxa_demangle
|
||||
___cxa_current_exception_type
|
||||
___cxa_call_unexpected
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_get_globals
|
||||
___cxa_get_globals_fast
|
||||
___cxa_guard_abort
|
||||
___cxa_guard_acquire
|
||||
___cxa_guard_release
|
||||
___cxa_rethrow
|
||||
___cxa_pure_virtual
|
||||
___cxa_begin_catch
|
||||
___cxa_throw
|
||||
___cxa_vec_cctor
|
||||
___cxa_vec_cleanup
|
||||
___cxa_vec_ctor
|
||||
___cxa_vec_delete
|
||||
___cxa_vec_delete2
|
||||
___cxa_vec_delete3
|
||||
___cxa_vec_dtor
|
||||
___cxa_vec_new
|
||||
___cxa_vec_new2
|
||||
___cxa_vec_new3
|
||||
___dynamic_cast
|
||||
___gxx_personality_sj0
|
||||
__ZTIDi
|
||||
__ZTIDn
|
||||
__ZTIDs
|
||||
__ZTIPDi
|
||||
__ZTIPDn
|
||||
__ZTIPDs
|
||||
__ZTIPKDi
|
||||
__ZTIPKDn
|
||||
__ZTIPKDs
|
||||
__ZTSPm
|
||||
__ZTSPl
|
||||
__ZTSPj
|
||||
__ZTSPi
|
||||
__ZTSPh
|
||||
__ZTSPf
|
||||
__ZTSPe
|
||||
__ZTSPd
|
||||
__ZTSPc
|
||||
__ZTSPb
|
||||
__ZTSPa
|
||||
__ZTSPKc
|
||||
__ZTSPKy
|
||||
__ZTSPKx
|
||||
__ZTSPKw
|
||||
__ZTSPKv
|
||||
__ZTSPKt
|
||||
__ZTSPKs
|
||||
__ZTSPKm
|
||||
__ZTSPKl
|
||||
__ZTSPKi
|
||||
__ZTSPKh
|
||||
__ZTSPs
|
||||
__ZTSPt
|
||||
__ZTSPv
|
||||
__ZTSPw
|
||||
__ZTSPKa
|
||||
__ZTSPx
|
||||
__ZTSPy
|
||||
__ZTSPKd
|
||||
__ZTSPKe
|
||||
__ZTSPKj
|
||||
__ZTSPKb
|
||||
__ZTSPKf
|
||||
__ZTSv
|
||||
__ZTSt
|
||||
__ZTSs
|
||||
__ZTSm
|
||||
__ZTSl
|
||||
__ZTSj
|
||||
__ZTSi
|
||||
__ZTSh
|
||||
__ZTSf
|
||||
__ZTSe
|
||||
__ZTSd
|
||||
__ZTSc
|
||||
__ZTSw
|
||||
__ZTSx
|
||||
__ZTSy
|
||||
__ZTSb
|
||||
__ZTSa
|
||||
__ZTIPKh
|
||||
__ZTIPKf
|
||||
__ZTIPKe
|
||||
__ZTIPKd
|
||||
__ZTIPKc
|
||||
__ZTIPKb
|
||||
__ZTIPKa
|
||||
__ZTIPy
|
||||
__ZTIPx
|
||||
__ZTIPw
|
||||
__ZTIPv
|
||||
__ZTIPt
|
||||
__ZTIPs
|
||||
__ZTIPm
|
||||
__ZTIPl
|
||||
__ZTIPj
|
||||
__ZTIPi
|
||||
__ZTIPKi
|
||||
__ZTIPKj
|
||||
__ZTIPKl
|
||||
__ZTIPKm
|
||||
__ZTIPKs
|
||||
__ZTIPKt
|
||||
__ZTIPKv
|
||||
__ZTIPKw
|
||||
__ZTIPKx
|
||||
__ZTIPKy
|
||||
__ZTIPa
|
||||
__ZTIPb
|
||||
__ZTIPc
|
||||
__ZTIPd
|
||||
__ZTIPe
|
||||
__ZTIPf
|
||||
__ZTIPh
|
||||
__ZTVN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
__ZTVN10__cxxabiv116__enum_type_infoE
|
||||
__ZTVN10__cxxabiv117__array_type_infoE
|
||||
__ZTVN10__cxxabiv117__class_type_infoE
|
||||
__ZTVN10__cxxabiv117__pbase_type_infoE
|
||||
__ZTVN10__cxxabiv119__pointer_type_infoE
|
||||
__ZTVN10__cxxabiv120__function_type_infoE
|
||||
__ZTVN10__cxxabiv120__si_class_type_infoE
|
||||
__ZTVN10__cxxabiv121__vmi_class_type_infoE
|
||||
__ZTVN10__cxxabiv123__fundamental_type_infoE
|
||||
__ZTIa
|
||||
__ZTIb
|
||||
__ZTIc
|
||||
__ZTId
|
||||
__ZTIe
|
||||
__ZTIf
|
||||
__ZTIh
|
||||
__ZTIi
|
||||
__ZTIj
|
||||
__ZTIl
|
||||
__ZTIm
|
||||
__ZTIs
|
||||
__ZTIt
|
||||
__ZTSN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
__ZTSN10__cxxabiv123__fundamental_type_infoE
|
||||
__ZTSN10__cxxabiv121__vmi_class_type_infoE
|
||||
__ZTSN10__cxxabiv120__si_class_type_infoE
|
||||
__ZTSN10__cxxabiv120__function_type_infoE
|
||||
__ZTSN10__cxxabiv119__pointer_type_infoE
|
||||
__ZTSN10__cxxabiv117__pbase_type_infoE
|
||||
__ZTSN10__cxxabiv117__class_type_infoE
|
||||
__ZTSN10__cxxabiv117__array_type_infoE
|
||||
__ZTSN10__cxxabiv116__enum_type_infoE
|
||||
__ZTIy
|
||||
__ZTIx
|
||||
__ZTIw
|
||||
__ZTIv
|
||||
__ZSt13get_terminatev
|
||||
__ZSt13set_terminatePFvvE
|
||||
__ZSt14get_unexpectedv
|
||||
__ZSt14set_unexpectedPFvvE
|
||||
__ZSt15get_new_handlerv
|
||||
__ZSt15set_new_handlerPFvvE
|
||||
__ZSt9terminatev
|
||||
__ZNSt9bad_allocD1Ev
|
||||
__ZTISt9bad_alloc
|
||||
__ZNSt9bad_allocC1Ev
|
||||
__ZTISt13bad_exception
|
||||
__ZTVSt10bad_typeid
|
||||
__ZTVSt9exception
|
||||
__ZNSt10bad_typeidC1Ev
|
||||
__ZNSt10bad_typeidC1Ev
|
||||
__ZNKSt10bad_typeid4whatEv
|
||||
__ZNSt10bad_typeidD1Ev
|
||||
__ZTVSt8bad_cast
|
||||
__ZNSt8bad_castC1Ev
|
||||
__ZNSt8bad_castC2Ev
|
||||
__ZNSt8bad_castD0Ev
|
||||
__ZNKSt8bad_cast4whatEv
|
||||
__ZNSt8bad_castD1Ev
|
||||
__ZNSt8bad_castD2Ev
|
||||
__ZTVSt9bad_alloc
|
||||
__ZTVSt20bad_array_new_length
|
||||
__ZTVSt13bad_exception
|
||||
__ZNKSt9exception4whatEv
|
||||
__ZNKSt9bad_alloc4whatEv
|
||||
__ZNSt9bad_allocC2Ev
|
||||
__ZNSt9bad_allocD0Ev
|
||||
__ZNSt9bad_allocD2Ev
|
||||
__ZNSt9exceptionD0Ev
|
||||
__ZNSt20bad_array_new_lengthC1Ev
|
||||
__ZNKSt13bad_exception4whatEv
|
||||
__ZNSt9exceptionD1Ev
|
||||
__ZNKSt20bad_array_new_length4whatEv
|
||||
__ZNSt13bad_exceptionD1Ev
|
||||
__ZNSt20bad_array_new_lengthD1Ev
|
||||
__ZNSt9exceptionD2Ev
|
||||
__ZNSt9type_infoD0Ev
|
||||
__ZNSt9type_infoD1Ev
|
||||
__ZNSt9type_infoD2Ev
|
||||
__ZNSt10bad_typeidC2Ev
|
||||
__ZNSt10bad_typeidD0Ev
|
||||
__ZNSt10bad_typeidD2Ev
|
||||
__ZNSt13bad_exceptionD0Ev
|
||||
__ZNSt13bad_exceptionD2Ev
|
||||
__ZNSt20bad_array_new_lengthC2Ev
|
||||
__ZNSt20bad_array_new_lengthD0Ev
|
||||
__ZNSt20bad_array_new_lengthD2Ev
|
||||
__ZSt10unexpectedv
|
||||
__ZdaPv
|
||||
__ZdlPv
|
||||
__ZdlPvRKSt9nothrow_t
|
||||
__Znam
|
||||
__ZdaPvRKSt9nothrow_t
|
||||
__Znwm
|
||||
__ZnwmRKSt9nothrow_t
|
||||
__ZnamRKSt9nothrow_t
|
||||
__ZTISt10bad_typeid
|
||||
__ZTISt8bad_cast
|
||||
___cxa_bad_typeid
|
||||
___cxa_bad_cast
|
||||
__ZTISt9exception
|
||||
__ZTISt9type_info
|
||||
__ZTISt20bad_array_new_length
|
||||
|
||||
__ZNKSt11logic_error4whatEv
|
||||
__ZNSt11logic_errorD0Ev
|
||||
__ZNSt11logic_errorD1Ev
|
||||
__ZNSt11logic_errorD2Ev
|
||||
__ZTISt11logic_error
|
||||
__ZTSSt11logic_error
|
||||
__ZTVSt11logic_error
|
||||
|
||||
__ZNKSt13runtime_error4whatEv
|
||||
__ZNSt13runtime_errorD0Ev
|
||||
__ZNSt13runtime_errorD1Ev
|
||||
__ZNSt13runtime_errorD2Ev
|
||||
__ZTISt13runtime_error
|
||||
__ZTSSt13runtime_error
|
||||
__ZTVSt13runtime_error
|
||||
|
||||
__ZNSt11range_errorD0Ev
|
||||
__ZNSt11range_errorD1Ev
|
||||
__ZNSt11range_errorD2Ev
|
||||
__ZTISt11range_error
|
||||
__ZTSSt11range_error
|
||||
__ZTVSt11range_error
|
||||
|
||||
__ZNSt12domain_errorD0Ev
|
||||
__ZNSt12domain_errorD1Ev
|
||||
__ZNSt12domain_errorD2Ev
|
||||
__ZTISt12domain_error
|
||||
__ZTSSt12domain_error
|
||||
__ZTVSt12domain_error
|
||||
|
||||
__ZNSt12length_errorD0Ev
|
||||
__ZNSt12length_errorD1Ev
|
||||
__ZNSt12length_errorD2Ev
|
||||
__ZTISt12length_error
|
||||
__ZTSSt12length_error
|
||||
__ZTVSt12length_error
|
||||
|
||||
__ZNSt12out_of_rangeD0Ev
|
||||
__ZNSt12out_of_rangeD1Ev
|
||||
__ZNSt12out_of_rangeD2Ev
|
||||
__ZTISt12out_of_range
|
||||
__ZTSSt12out_of_range
|
||||
__ZTVSt12out_of_range
|
||||
|
||||
__ZNSt14overflow_errorD0Ev
|
||||
__ZNSt14overflow_errorD1Ev
|
||||
__ZNSt14overflow_errorD2Ev
|
||||
__ZTISt14overflow_error
|
||||
__ZTSSt14overflow_error
|
||||
__ZTVSt14overflow_error
|
||||
|
||||
__ZNSt15underflow_errorD0Ev
|
||||
__ZNSt15underflow_errorD1Ev
|
||||
__ZNSt15underflow_errorD2Ev
|
||||
__ZTISt15underflow_error
|
||||
__ZTSSt15underflow_error
|
||||
__ZTVSt15underflow_error
|
||||
|
||||
__ZNSt16invalid_argumentD0Ev
|
||||
__ZNSt16invalid_argumentD1Ev
|
||||
__ZNSt16invalid_argumentD2Ev
|
||||
__ZTISt16invalid_argument
|
||||
__ZTSSt16invalid_argument
|
||||
__ZTVSt16invalid_argument
|
||||
|
||||
__ZTSDi
|
||||
__ZTSDn
|
||||
__ZTSDs
|
||||
__ZTSPDi
|
||||
__ZTSPDn
|
||||
__ZTSPDs
|
||||
__ZTSPKDi
|
||||
__ZTSPKDn
|
||||
__ZTSPKDs
|
||||
|
||||
__ZTSSt8bad_cast
|
||||
__ZTSSt9bad_alloc
|
||||
__ZTSSt9exception
|
||||
__ZTSSt9type_info
|
||||
__ZTSSt10bad_typeid
|
||||
__ZTSSt13bad_exception
|
||||
__ZTSSt20bad_array_new_length
|
||||
__ZTVSt9type_info
|
@ -205,17 +205,20 @@ if (LIBCXX_ENABLE_SHARED)
|
||||
endif()
|
||||
|
||||
if (LIBCXX_OSX_REEXPORT_LIBCXXABI_SYMBOLS)
|
||||
if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
|
||||
set(RE_EXPORT_LIST "${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++sjlj-abi.v${LIBCXX_LIBCPPABI_VERSION}.exp")
|
||||
else()
|
||||
set(RE_EXPORT_LIST "${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi.v${LIBCXX_LIBCPPABI_VERSION}.exp")
|
||||
endif()
|
||||
target_link_libraries(cxx_shared PRIVATE
|
||||
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
|
||||
"-Wl,-reexported_symbols_list,${RE_EXPORT_LIST}"
|
||||
"-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi.v${LIBCXX_LIBCPPABI_VERSION}.exp"
|
||||
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
|
||||
"-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
|
||||
|
||||
if (LIBCXX_ENABLE_EXCEPTIONS)
|
||||
if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
|
||||
target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-exceptions.sjlj.exp")
|
||||
else()
|
||||
target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-exceptions.exp")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS)
|
||||
target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-new-delete.exp")
|
||||
endif()
|
||||
|
11
libcxxabi/lib/exceptions.exp
Normal file
11
libcxxabi/lib/exceptions.exp
Normal file
@ -0,0 +1,11 @@
|
||||
___cxa_allocate_dependent_exception
|
||||
___cxa_allocate_exception
|
||||
___cxa_begin_catch
|
||||
___cxa_call_unexpected
|
||||
___cxa_current_exception_type
|
||||
___cxa_end_catch
|
||||
___cxa_free_dependent_exception
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_rethrow
|
||||
___cxa_throw
|
@ -245,22 +245,13 @@ __ZTVSt9bad_alloc
|
||||
__ZTVSt9exception
|
||||
__ZTVSt9type_info
|
||||
|
||||
# Itanium C++ ABI requirements
|
||||
___cxa_allocate_dependent_exception
|
||||
___cxa_allocate_exception
|
||||
# Itanium C++ ABI requirements (minus most exception support)
|
||||
___cxa_bad_cast
|
||||
___cxa_bad_typeid
|
||||
___cxa_begin_catch
|
||||
___cxa_call_unexpected
|
||||
___cxa_current_exception_type
|
||||
___cxa_current_primary_exception
|
||||
___cxa_decrement_exception_refcount
|
||||
___cxa_deleted_virtual
|
||||
___cxa_demangle
|
||||
___cxa_end_catch
|
||||
___cxa_free_dependent_exception
|
||||
___cxa_free_exception
|
||||
___cxa_get_exception_ptr
|
||||
___cxa_get_globals
|
||||
___cxa_get_globals_fast
|
||||
___cxa_guard_abort
|
||||
@ -268,9 +259,7 @@ ___cxa_guard_acquire
|
||||
___cxa_guard_release
|
||||
___cxa_increment_exception_refcount
|
||||
___cxa_pure_virtual
|
||||
___cxa_rethrow
|
||||
___cxa_rethrow_primary_exception
|
||||
___cxa_throw
|
||||
___cxa_throw_bad_array_new_length
|
||||
___cxa_uncaught_exception
|
||||
___cxa_uncaught_exceptions
|
||||
|
@ -146,12 +146,6 @@ if (NOT TARGET pstl::ParallelSTL)
|
||||
message(STATUS "Could not find ParallelSTL, libc++abi will not attempt to use it but the build may fail if the libc++ in use needs it to be available.")
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
|
||||
set(LIBCXXABI_USE_SJLJ_EXCEPTIONS ON)
|
||||
else()
|
||||
set(LIBCXXABI_USE_SJLJ_EXCEPTIONS OFF)
|
||||
endif()
|
||||
|
||||
# Build the shared library.
|
||||
if (LIBCXXABI_ENABLE_SHARED)
|
||||
add_library(cxxabi_shared SHARED ${LIBCXXABI_SOURCES} ${LIBCXXABI_HEADERS})
|
||||
@ -200,10 +194,14 @@ if (LIBCXXABI_ENABLE_SHARED)
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
|
||||
endif()
|
||||
|
||||
if (LIBCXXABI_USE_SJLJ_EXCEPTIONS)
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-sjlj.exp")
|
||||
else()
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-v0.exp")
|
||||
if (LIBCXXABI_ENABLE_EXCEPTIONS)
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/exceptions.exp")
|
||||
|
||||
if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-sjlj.exp")
|
||||
else()
|
||||
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-v0.exp")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user