[libcxx-commits] [libcxxabi] 1aa1702 - [libcxx{, abi}] Don't link libpthread and libdl on Fuchsia

Petr Hosek via libcxx-commits libcxx-commits at lists.llvm.org
Fri Dec 6 11:16:37 PST 2019


Author: Petr Hosek
Date: 2019-12-06T11:15:15-08:00
New Revision: 1aa17023819216dae77c7798510f178dae07a57f

URL: https://github.com/llvm/llvm-project/commit/1aa17023819216dae77c7798510f178dae07a57f
DIFF: https://github.com/llvm/llvm-project/commit/1aa17023819216dae77c7798510f178dae07a57f.diff

LOG: [libcxx{,abi}] Don't link libpthread and libdl on Fuchsia

These are a part of the libc so linking these explicitly isn't necessary
and embedding these as deplibs causes link time error.

This issues was introduced in a9b5fff which changed how we emit deplibs.

Differential Revision: https://reviews.llvm.org/D71135

Added: 
    

Modified: 
    libcxx/cmake/config-ix.cmake
    libcxxabi/cmake/config-ix.cmake

Removed: 
    


################################################################################
diff  --git a/libcxx/cmake/config-ix.cmake b/libcxx/cmake/config-ix.cmake
index a7a684c9d5f0..89e5d17c60f2 100644
--- a/libcxx/cmake/config-ix.cmake
+++ b/libcxx/cmake/config-ix.cmake
@@ -89,6 +89,11 @@ elseif(APPLE)
   set(LIBCXX_HAS_PTHREAD_LIB NO)
   set(LIBCXX_HAS_M_LIB NO)
   set(LIBCXX_HAS_RT_LIB NO)
+elseif(FUCHSIA)
+  set(LIBCXX_HAS_M_LIB NO)
+  set(LIBCXX_HAS_PTHREAD_LIB NO)
+  set(LIBCXX_HAS_RT_LIB NO)
+  set(LIBCXX_HAS_SYSTEM_LIB NO)
 else()
   check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB)
   check_library_exists(m ccos "" LIBCXX_HAS_M_LIB)

diff  --git a/libcxxabi/cmake/config-ix.cmake b/libcxxabi/cmake/config-ix.cmake
index 496ed3463755..8892964ad376 100644
--- a/libcxxabi/cmake/config-ix.cmake
+++ b/libcxxabi/cmake/config-ix.cmake
@@ -71,8 +71,16 @@ endif()
 check_cxx_compiler_flag(-nostdinc++ LIBCXXABI_HAS_NOSTDINCXX_FLAG)
 
 # Check libraries
-check_library_exists(dl dladdr "" LIBCXXABI_HAS_DL_LIB)
-check_library_exists(pthread pthread_once "" LIBCXXABI_HAS_PTHREAD_LIB)
-check_library_exists(c __cxa_thread_atexit_impl ""
-  LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
-check_library_exists(System write "" LIBCXXABI_HAS_SYSTEM_LIB)
+if(FUCHSIA)
+  set(LIBCXXABI_HAS_DL_LIB NO)
+  set(LIBCXXABI_HAS_PTHREAD_LIB NO)
+  check_library_exists(c __cxa_thread_atexit_impl ""
+    LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
+  set(LIBCXXABI_HAS_SYSTEM_LIB NO)
+else()
+  check_library_exists(dl dladdr "" LIBCXXABI_HAS_DL_LIB)
+  check_library_exists(pthread pthread_once "" LIBCXXABI_HAS_PTHREAD_LIB)
+  check_library_exists(c __cxa_thread_atexit_impl ""
+    LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
+  check_library_exists(System write "" LIBCXXABI_HAS_SYSTEM_LIB)
+endif()


        


More information about the libcxx-commits mailing list