This revision was automatically updated to reflect the committed changes.
Closed by commit rL358935: [CMake] Replace the sanitizer support in runtimes
build with multilib (authored by phosek, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D60926?vs=195934&id=196159#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60926/new/
https://reviews.llvm.org/D60926
Files:
cfe/trunk/cmake/caches/Fuchsia-stage2.cmake
llvm/trunk/runtimes/CMakeLists.txt
Index: cfe/trunk/cmake/caches/Fuchsia-stage2.cmake
===================================================================
--- cfe/trunk/cmake/caches/Fuchsia-stage2.cmake
+++ cfe/trunk/cmake/caches/Fuchsia-stage2.cmake
@@ -142,12 +142,22 @@
set(RUNTIMES_${target}-fuchsia_LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY OFF CACHE BOOL "")
set(RUNTIMES_${target}-fuchsia_LIBCXX_ABI_VERSION 2 CACHE STRING "")
+ set(RUNTIMES_${target}-fuchsia+asan_LLVM_BUILD_COMPILER_RT OFF CACHE BOOL "")
+ set(RUNTIMES_${target}-fuchsia+asan_LLVM_USE_SANITIZER "Address" CACHE STRING "")
+ set(RUNTIMES_${target}-fuchsia+asan_LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "")
+ set(RUNTIMES_${target}-fuchsia+asan_LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "")
+
+ set(RUNTIMES_${target}-fuchsia+noexcept_LLVM_BUILD_COMPILER_RT OFF CACHE BOOL "")
+ set(RUNTIMES_${target}-fuchsia+noexcept_LIBCXXABI_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
+ set(RUNTIMES_${target}-fuchsia+noexcept_LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
+
# Use .build-id link.
list(APPEND RUNTIME_BUILD_ID_LINK "${target}-fuchsia")
endforeach()
- set(LLVM_RUNTIME_SANITIZERS "Address" CACHE STRING "")
- set(LLVM_RUNTIME_SANITIZER_Address_TARGETS "x86_64-fuchsia;aarch64-fuchsia" CACHE STRING "")
+ set(LLVM_RUNTIME_MULTILIBS "asan;noexcept" CACHE STRING "")
+ set(LLVM_RUNTIME_MULTILIB_asan_TARGETS "x86_64-fuchsia;aarch64-fuchsia" CACHE STRING "")
+ set(LLVM_RUNTIME_MULTILIB_noexcept_TARGETS "x86_64-fuchsia;aarch64-fuchsia" CACHE STRING "")
endif()
set(LLVM_BUILTIN_TARGETS "${BUILTIN_TARGETS}" CACHE STRING "")
Index: llvm/trunk/runtimes/CMakeLists.txt
===================================================================
--- llvm/trunk/runtimes/CMakeLists.txt
+++ llvm/trunk/runtimes/CMakeLists.txt
@@ -70,7 +70,7 @@
get_compiler_rt_path(compiler_rt_path)
if(compiler_rt_path)
list(REMOVE_ITEM runtimes ${compiler_rt_path})
- if(NOT LLVM_BUILD_COMPILER_RT)
+ if(NOT DEFINED LLVM_BUILD_COMPILER_RT OR LLVM_BUILD_COMPILER_RT)
list(INSERT runtimes 0 ${compiler_rt_path})
endif()
endif()
@@ -242,7 +242,8 @@
get_cmake_property(variableNames VARIABLES)
foreach(variableName ${variableNames})
- if(variableName MATCHES "^BUILTINS_${target}")
+ string(FIND "${variableName}" "BUILTINS_${target}" out)
+ if("${out}" EQUAL 0)
string(REPLACE "BUILTINS_${target}_" "" new_name ${variableName})
list(APPEND ${target}_extra_args "-D${new_name}=${${variableName}}")
endif()
@@ -425,10 +426,13 @@
get_cmake_property(variableNames VARIABLES)
foreach(variableName ${variableNames})
- if(variableName MATCHES "^RUNTIMES_${name}")
+ string(FIND "${variableName}" "RUNTIMES_${name}_" out)
+ if("${out}" EQUAL 0)
string(REPLACE "RUNTIMES_${name}_" "" new_name ${variableName})
list(APPEND ${name}_extra_args "-D${new_name}=${${variableName}}")
- elseif(variableName MATCHES "^RUNTIMES_${target}")
+ endif()
+ string(FIND "${variableName}" "RUNTIMES_${target}_" out)
+ if("${out}" EQUAL 0)
string(REPLACE "RUNTIMES_${target}_" "" new_name ${variableName})
list(APPEND ${name}_extra_args "-D${new_name}=${${variableName}}")
endif()
@@ -510,28 +514,16 @@
endif()
endforeach()
- foreach(sanitizer ${LLVM_RUNTIME_SANITIZERS})
- if (sanitizer STREQUAL "Address")
- set(sanitizer_name "asan")
- elseif (sanitizer STREQUAL "Memory")
- set(sanitizer_name "msan")
- elseif (sanitizer STREQUAL "Thread")
- set(sanitizer_name "tsan")
- elseif (sanitizer STREQUAL "Undefined")
- set(sanitizer_name "ubsan")
- else()
- message(FATAL_ERROR "Unsupported value of LLVM_RUNTIME_TARGET_SANITIZERS: ${sanitizers}")
- endif()
- foreach(name ${LLVM_RUNTIME_SANITIZER_${sanitizer}_TARGETS})
- runtime_register_target(${name}-${sanitizer_name} ${name}
+ foreach(multilib ${LLVM_RUNTIME_MULTILIBS})
+ foreach(name ${LLVM_RUNTIME_MULTILIB_${multilib}_TARGETS})
+ runtime_register_target(${name}+${multilib} ${name}
DEPENDS runtimes-${name}
- CMAKE_ARGS -DLLVM_USE_SANITIZER=${sanitizer}
- -DLLVM_RUNTIMES_PREFIX=${name}/
- -DLLVM_RUNTIMES_LIBDIR_SUFFIX=/${sanitizer_name})
- add_dependencies(runtimes runtimes-${name}-${sanitizer_name})
- add_dependencies(runtimes-configure runtimes-${name}-${sanitizer_name}-configure)
- add_dependencies(install-runtimes install-runtimes-${name}-${sanitizer_name})
- add_dependencies(install-runtimes-stripped install-runtimes-${name}-${sanitizer_name}-stripped)
+ CMAKE_ARGS -DLLVM_RUNTIMES_PREFIX=${name}/
+ -DLLVM_RUNTIMES_LIBDIR_SUFFIX=/${multilib})
+ add_dependencies(runtimes runtimes-${name}+${multilib})
+ add_dependencies(runtimes-configure runtimes-${name}+${multilib}-configure)
+ add_dependencies(install-runtimes install-runtimes-${name}+${multilib})
+ add_dependencies(install-runtimes-stripped install-runtimes-${name}+${multilib}-stripped)
endforeach()
endforeach()
endif()
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits