Reland [compiler-rt][CMake] Properly set COMPILER_RT_HAS_LLD
LLVM_TOOL_LLD_BUILD is a relic of the pre-monorepo times. This causes us to never set COMPILER_RT_HAS_LLD. Instead, set it from the runtimes build if lld is being built and lld is used as the compiler-rt linker. Mark a test that requires libstdc++ as requiring Android, as other platforms may not have a libstdc++ lying around. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D144660
This commit is contained in:
parent
4157bfb230
commit
fffa05a2bc
@ -738,14 +738,8 @@ if(COMPILER_RT_USE_LIBCXX)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/tools/lld)
|
||||
if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD)
|
||||
if(COMPILER_RT_HAS_TRUNK_LLD AND LLVM_USE_LINKER STREQUAL "lld")
|
||||
set(COMPILER_RT_HAS_LLD TRUE)
|
||||
else()
|
||||
set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/../lld)
|
||||
if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD)
|
||||
set(COMPILER_RT_HAS_LLD TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
// RUN: %env_hwasan_opts=allocator_may_return_null=1 %run %t new-nothrow max 2>&1
|
||||
// RUN: %run %t usable 2>&1
|
||||
|
||||
// REQUIRES: android
|
||||
|
||||
// Tests for various edge cases related to sizes, notably the maximum size the
|
||||
// allocator can allocate. Tests that an integer overflow in the parameters of
|
||||
// calloc is caught.
|
||||
|
||||
@ -226,6 +226,10 @@ function(runtime_default_target)
|
||||
|
||||
set_enable_per_target_runtime_dir()
|
||||
|
||||
if ("lld" IN_LIST LLVM_ENABLE_PROJECTS)
|
||||
list(APPEND extra_args -DCOMPILER_RT_HAS_TRUNK_LLD=TRUE)
|
||||
endif()
|
||||
|
||||
llvm_ExternalProject_Add(runtimes
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes
|
||||
DEPENDS ${ARG_DEPENDS}
|
||||
@ -242,6 +246,7 @@ function(runtime_default_target)
|
||||
${COMMON_CMAKE_ARGS}
|
||||
${RUNTIMES_CMAKE_ARGS}
|
||||
${ARG_CMAKE_ARGS}
|
||||
${extra_args}
|
||||
PASSTHROUGH_PREFIXES LLVM_ENABLE_RUNTIMES
|
||||
LLVM_USE_LINKER
|
||||
${ARG_PREFIXES}
|
||||
@ -334,6 +339,10 @@ function(runtime_register_target name)
|
||||
|
||||
set_enable_per_target_runtime_dir()
|
||||
|
||||
if ("lld" IN_LIST LLVM_ENABLE_PROJECTS)
|
||||
list(APPEND ${name}_extra_args -DCOMPILER_RT_HAS_TRUNK_LLD=TRUE)
|
||||
endif()
|
||||
|
||||
llvm_ExternalProject_Add(runtimes-${name}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes
|
||||
DEPENDS ${ARG_DEPENDS}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user