[PATCH] D45242: [compiler-rt] Support statically linked libc++abi and libunwind

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 3 20:45:29 PDT 2018


phosek created this revision.
phosek added reviewers: vitalybuka, morehouse, beanz.
Herald added subscribers: Sanitizers, llvm-commits, mgorny, dberris.
Herald added a reviewer: EricWF.

This expands the CMake check to handle both statically and dynamically
linked version of libc++abi and libunwind and matches the implemnetation
used elsewhere in LLVM.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D45242

Files:
  compiler-rt/CMakeLists.txt


Index: compiler-rt/CMakeLists.txt
===================================================================
--- compiler-rt/CMakeLists.txt
+++ compiler-rt/CMakeLists.txt
@@ -152,11 +152,15 @@
 
 if (SANITIZER_CXX_ABI_LIBNAME STREQUAL "libcxxabi")
   if (SANITIZER_CXX_ABI_INTREE)
-    if (TARGET unwind_shared OR HAVE_LIBUNWIND)
+    if (NOT LIBCXXABI_ENABLE_STATIC_UNWINDER AND (TARGET unwind_shared OR HAVE_LIBUNWIND))
       list(APPEND SANITIZER_CXX_ABI_LIBRARY unwind_shared)
+    elseif (LIBCXXABI_ENABLE_STATIC_UNWINDER AND (TARGET unwind_static OR HAVE_LIBUNWIND))
+      list(APPEND SANITIZER_CXX_ABI_LIBRARY unwind_static)
     endif()
-    if (TARGET cxxabi_shared OR HAVE_LIBCXXABI)
+    if (NOT LIBCXX_ENABLE_STATIC_ABI_LIBRARY AND (TARGET cxxabi_shared OR HAVE_LIBCXXABI))
       list(APPEND SANITIZER_CXX_ABI_LIBRARY cxxabi_shared)
+    elseif (LIBCXX_ENABLE_STATIC_ABI_LIBRARY AND (TARGET cxxabi_static OR HAVE_LIBCXXABI))
+      list(APPEND SANITIZER_CXX_ABI_LIBRARY cxxabi_static)
     endif()
   else()
     list(APPEND SANITIZER_CXX_ABI_LIBRARY "c++abi")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45242.140898.patch
Type: text/x-patch
Size: 1069 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180404/0b675736/attachment.bin>


More information about the llvm-commits mailing list