[libcxxabi][CMake] Set --unwindlib=none when using LLVM libunwind
authorPetr Hosek <phosek@google.com>
Mon, 11 Jul 2022 07:53:47 +0000 (07:53 +0000)
committerPetr Hosek <phosek@google.com>
Thu, 14 Jul 2022 18:59:40 +0000 (18:59 +0000)
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

libcxxabi/src/CMakeLists.txt

index a8c79aa..248acc6 100644 (file)
@@ -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