summaryrefslogtreecommitdiff
path: root/libcxxabi/src
diff options
context:
space:
mode:
authorPetr Hosek <phosek@google.com>2022-07-11 07:53:47 +0000
committerPetr Hosek <phosek@google.com>2022-07-14 18:59:40 +0000
commit1f3f4833eae7ec276530ad0c0018d46a01563420 (patch)
treea07c53228cd419efe2d48abd42172cc80c610dbd /libcxxabi/src
parentaf58684f272046f293a9f469f03d23bd2b138349 (diff)
downloadllvm-1f3f4833eae7ec276530ad0c0018d46a01563420.tar.gz
[libcxxabi][CMake] Set --unwindlib=none when using LLVM libunwind
We already link libunwind explicitly so avoid trying to link toolchain's default libunwind which may be missing. This matches what we already do for libcxx. Differential Revision: https://reviews.llvm.org/D129469
Diffstat (limited to 'libcxxabi/src')
-rw-r--r--libcxxabi/src/CMakeLists.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt
index a8c79aa6f380..248acc6567ab 100644
--- a/libcxxabi/src/CMakeLists.txt
+++ b/libcxxabi/src/CMakeLists.txt
@@ -99,6 +99,13 @@ else()
add_link_flags_if_supported(-nodefaultlibs)
endif()
+if (CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG AND LIBCXXABI_USE_LLVM_UNWINDER)
+ # If we're linking directly against the libunwind that we're building
+ # in the same invocation, don't try to link in the toolchain's
+ # default libunwind (which may be missing still).
+ add_link_flags_if_supported(--unwindlib=none)
+endif()
+
if ( APPLE )
if (LLVM_USE_SANITIZER)
if (("${LLVM_USE_SANITIZER}" STREQUAL "Address") OR