aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2021-11-17 12:49:42 +0200
committerMartin Storsjö <martin@martin.st>2021-11-17 12:50:33 +0200
commitefbe9ae23f05aeaca667b925a1efbe12094d0987 (patch)
treea85e88621aa2ceb848862e4cf1d6a43803f74b34 /runtimes
parent[IR] Change CreateStepVector to work with element types smaller than i8 (diff)
downloadllvm-project-efbe9ae23f05aeaca667b925a1efbe12094d0987.tar.gz
llvm-project-efbe9ae23f05aeaca667b925a1efbe12094d0987.tar.bz2
llvm-project-efbe9ae23f05aeaca667b925a1efbe12094d0987.zip
Revert "[runtimes] Fix building initial libunwind+libcxxabi+libcxx with compiler implied -lunwind"
This reverts commit 7c3d19ab7bcb79636bd65ee55a0fefef224fcb25. This commit was reported as causing build problems for the amdgpu buildbot in https://reviews.llvm.org/D113253#3137097.
Diffstat (limited to 'runtimes')
-rw-r--r--runtimes/CMakeLists.txt42
1 files changed, 10 insertions, 32 deletions
diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt
index e18c48f5745a..39232b969af4 100644
--- a/runtimes/CMakeLists.txt
+++ b/runtimes/CMakeLists.txt
@@ -1,21 +1,6 @@
# This file handles building LLVM runtime sub-projects.
cmake_minimum_required(VERSION 3.13.4)
-
-# Add path for custom and the LLVM build's modules to the CMake module path.
-list(INSERT CMAKE_MODULE_PATH 0
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
- "${CMAKE_CURRENT_SOURCE_DIR}/../cmake"
- "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules"
- "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake"
- "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake/modules"
-)
-
-# We may have an incomplete toolchain - do language support tests without
-# linking.
-include(EnableLanguageNolink)
-project(Runtimes LANGUAGES NONE)
-llvm_enable_language_nolink(C CXX ASM)
+project(Runtimes C CXX ASM)
set(LLVM_ALL_RUNTIMES "compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp")
set(LLVM_ENABLE_RUNTIMES "" CACHE STRING
@@ -43,6 +28,14 @@ endfunction()
find_package(LLVM PATHS "${LLVM_BINARY_DIR}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
find_package(Clang PATHS "${LLVM_BINARY_DIR}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+# Add path for custom and the LLVM build's modules to the CMake module path.
+list(INSERT CMAKE_MODULE_PATH 0
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake/modules"
+)
+
function(get_compiler_rt_path path)
foreach(entry ${runtimes})
get_filename_component(projName ${entry} NAME)
@@ -93,29 +86,14 @@ if(APPLE)
endif()
include(CheckLibraryExists)
-include(CheckLinkerFlag)
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
-
-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_linker_flag("--unwindlib=none" LLVM_RUNTIMES_SUPPORT_UNWINDLIB_NONE_FLAG)
- if (LLVM_RUNTIMES_SUPPORT_UNWINDLIB_NONE_FLAG)
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} --unwindlib=none")
- endif()
-endif()
-
# Disable use of the installed C++ standard library when building runtimes.
# Check for -nostdlib++ first; if there's no C++ standard library yet,
# all check_cxx_compiler_flag commands will fail until we add -nostdlib++
# (or -nodefaultlibs).
-llvm_check_linker_flag(-nostdlib++ LLVM_RUNTIMES_SUPPORT_NOSTDLIBXX_FLAG)
+check_c_compiler_flag(-nostdlib++ LLVM_RUNTIMES_SUPPORT_NOSTDLIBXX_FLAG)
if (LLVM_RUNTIMES_SUPPORT_NOSTDLIBXX_FLAG)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
endif()