[runtimes][CMake] Drop the check to see if linker works

This isn't needed anymore.

Differential Revision: https://reviews.llvm.org/D144440
This commit is contained in:
Petr Hosek
2023-02-21 01:02:42 +00:00
parent 6b971325e9
commit 7765e5d9a1

View File

@@ -103,15 +103,18 @@ filter_prefixed("${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES}" ${LLVM_BINARY_DIR} CMA
filter_prefixed("${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}" ${LLVM_BINARY_DIR} CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES)
filter_prefixed("${CMAKE_ASM_IMPLICIT_INCLUDE_DIRECTORIES}" ${LLVM_BINARY_DIR} CMAKE_ASM_IMPLICIT_INCLUDE_DIRECTORIES)
check_c_compiler_flag("" LLVM_RUNTIMES_LINKING_WORKS)
if (NOT LLVM_RUNTIMES_LINKING_WORKS)
# The compiler driver may be implicitly trying to link against libunwind,
# which might not work if libunwind doesn't exist yet. Try to check if
# --unwindlib=none is supported, and use that if possible.
# Don't add this if not necessary to fix linking, as it can break using
# e.g. ASAN/TSAN.
llvm_check_compiler_linker_flag(C "--unwindlib=none" CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG)
if (CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG)
# The compiler driver may be implicitly trying to link against libunwind,
# which might not work if libunwind doesn't exist yet. Try to check if
# --unwindlib=none is supported, and use that if possible.
#
# TODO: Note that this is problematic when LLVM_USE_SANITIZER is used
# because some sanitizers require the unwinder and so the combination of
# -fsanitize=... --unwindlib=none will always result in a linking error.
# Currently, we counteract this issue by adding -fno-sanitize=all flag in
# the project specific code within */cmake/config-ix.cmake files but that's
# brittle. We should ideally move this to runtimes/CMakeLists.txt.
llvm_check_compiler_linker_flag(C "--unwindlib=none" CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG)
if (CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG)
set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} --unwindlib=none")
# TODO: When we can require CMake 3.14, we should use
@@ -133,7 +136,6 @@ if (NOT LLVM_RUNTIMES_LINKING_WORKS)
if (C_SUPPORTS_START_NO_UNUSED_ARGUMENTS)
set(CMAKE_REQUIRED_FLAGS "${ORIG_CMAKE_REQUIRED_FLAGS} --start-no-unused-arguments --unwindlib=none --end-no-unused-arguments")
endif()
endif()
endif()
# Disable use of the installed C++ standard library when building runtimes.