[libcxx-commits] [PATCH] D71135: [cxx][cxxabi] Don't link libpthread and libdl on Fuchsia

Petr Hosek via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Dec 6 11:18:32 PST 2019


phosek created this revision.
phosek added a reviewer: leonardchan.
Herald added subscribers: libcxx-commits, jfb, christof, mgorny.
Herald added a project: libc++.
leonardchan accepted this revision.
This revision is now accepted and ready to land.
Herald added a reviewer: mclow.lists.

These are a part of the libc and embeding these as dependent libraries
causes link time error.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71135

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


Index: libcxxabi/cmake/config-ix.cmake
===================================================================
--- libcxxabi/cmake/config-ix.cmake
+++ libcxxabi/cmake/config-ix.cmake
@@ -71,8 +71,16 @@
 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()
Index: libcxx/cmake/config-ix.cmake
===================================================================
--- libcxx/cmake/config-ix.cmake
+++ libcxx/cmake/config-ix.cmake
@@ -89,6 +89,11 @@
   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)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71135.232615.patch
Type: text/x-patch
Size: 1658 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20191206/aa86a0a3/attachment-0001.bin>


More information about the libcxx-commits mailing list