[libunwind] e74e61f - unwind: restore the LINKER_LANGUAGE
Saleem Abdulrasool via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 6 15:43:12 PST 2019
Author: Saleem Abdulrasool
Date: 2019-11-06T15:42:09-08:00
New Revision: e74e61ff297e81c0a9bda54037033fc40fc76e1d
URL: https://github.com/llvm/llvm-project/commit/e74e61ff297e81c0a9bda54037033fc40fc76e1d
DIFF: https://github.com/llvm/llvm-project/commit/e74e61ff297e81c0a9bda54037033fc40fc76e1d.diff
LOG: unwind: restore the LINKER_LANGUAGE
Have CMake treat the unwind libraries as C libraries rather than C++.
There is no C++ runtime dependency at runtime. This ensures that we do
not accidentally end up with a link against the C++ runtime.
We need to explicitly reset the implicitly linked libraries for C++ to
ensure that we do not have CMake force the link against the C++ runtime.
This adjustment should enable the NetBSD bots to be happy with this
change.
Added:
Modified:
libunwind/src/CMakeLists.txt
Removed:
################################################################################
diff --git a/libunwind/src/CMakeLists.txt b/libunwind/src/CMakeLists.txt
index eaa8ae6ca980..d02f8a21dd48 100644
--- a/libunwind/src/CMakeLists.txt
+++ b/libunwind/src/CMakeLists.txt
@@ -108,6 +108,10 @@ set_property(SOURCE ${LIBUNWIND_CXX_SOURCES}
set_property(SOURCE ${LIBUNWIND_C_SOURCES}
APPEND_STRING PROPERTY COMPILE_FLAGS " ${LIBUNWIND_C_FLAGS}")
+# NOTE: avoid implicit dependencies on C++ runtimes. libunwind uses C++ for
+# ease, but does not rely on C++ at runtime.
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+
# Build the shared library.
if (LIBUNWIND_ENABLE_SHARED)
add_library(unwind_shared SHARED ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS})
@@ -126,6 +130,7 @@ if (LIBUNWIND_ENABLE_SHARED)
CXX_STANDARD_REQUIRED ON
COMPILE_FLAGS "${LIBUNWIND_COMPILE_FLAGS}"
LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}"
+ LINKER_LANGUAGE C
OUTPUT_NAME "unwind"
VERSION "1.0"
SOVERSION "1")
@@ -150,6 +155,7 @@ if (LIBUNWIND_ENABLE_STATIC)
CXX_STANDARD_REQUIRED ON
COMPILE_FLAGS "${LIBUNWIND_COMPILE_FLAGS}"
LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}"
+ LINKER_LANGUAGE C
OUTPUT_NAME "unwind")
if(LIBUNWIND_HERMETIC_STATIC_LIBRARY)
More information about the cfe-commits
mailing list