forked from OSchip/llvm-project
[libc++abi] Use libgcc and libgcc_s to provide _Unwind symbols instead of libgcc_eh.a
Summary: libgcc_eh.a cannot be used when building libc++abi as a shared library (the default configuration). See this post for some more discussion: https://gcc.gnu.org/ml/gcc/2012-03/msg00104.html This patch reverts back to using libgcc_s when linking libc++abi.so. Reviewers: danalbert, chandlerc, mclow.lists, ismail, compnerd Subscribers: vkalintiris, cfe-commits Differential Revision: http://reviews.llvm.org/D15440 llvm-svn: 255559
This commit is contained in:
parent
7993e18e80
commit
3c9babc55f
|
@ -42,6 +42,6 @@ check_cxx_compiler_flag(/GR- LIBCXXABI_HAS_NO_GR_FLAG)
|
|||
check_library_exists(c fopen "" LIBCXXABI_HAS_C_LIB)
|
||||
check_library_exists(dl dladdr "" LIBCXXABI_HAS_DL_LIB)
|
||||
check_library_exists(pthread pthread_once "" LIBCXXABI_HAS_PTHREAD_LIB)
|
||||
check_library_exists(gcc_eh _Unwind_GetRegionStart "" LIBCXXABI_HAS_GCC_EH_LIB)
|
||||
check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXXABI_HAS_GCC_S_LIB)
|
||||
check_library_exists(c __cxa_thread_atexit_impl ""
|
||||
LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
|
||||
|
|
|
@ -40,17 +40,19 @@ if (LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
|
|||
add_definitions(-DHAVE___CXA_THREAD_ATEXIT_IMPL)
|
||||
endif()
|
||||
|
||||
# Generate library list.
|
||||
# Generate library list
|
||||
set(libraries ${LIBCXXABI_CXX_ABI_LIBRARIES})
|
||||
append_if(libraries LIBCXXABI_HAS_C_LIB c)
|
||||
|
||||
if (LIBCXXABI_ENABLE_THREADS)
|
||||
append_if(libraries LIBCXXABI_HAS_PTHREAD_LIB pthread)
|
||||
endif()
|
||||
|
||||
append_if(libraries LIBCXXABI_HAS_C_LIB c)
|
||||
|
||||
if (LIBCXXABI_USE_LLVM_UNWINDER)
|
||||
list(APPEND libraries unwind)
|
||||
else()
|
||||
append_if(libraries LIBCXXABI_HAS_GCC_EH_LIB gcc_eh)
|
||||
append_if(libraries LIBCXXABI_HAS_GCC_S_LIB gcc_s)
|
||||
endif()
|
||||
|
||||
# Setup flags.
|
||||
|
|
Loading…
Reference in New Issue