summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2017-12-12 19:17:52 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2017-12-12 19:17:52 +0000
commit8106beb37dc9b0d632c3596895bda21ef8108e7d (patch)
tree39bd2e036e3f0264b47afc410d5e4f1a7ac28553
parenteff015538b70adcb9f3976ac8d2181513e28c1c1 (diff)
[msan] LIT: Add lld testing config
Summary: A follow-up for D39508, with memory sanitizer changes. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: mgorny, mehdi_amini, kcc, #sanitizers, llvm-commits Tags: #sanitizers, #lld Differential Revision: https://reviews.llvm.org/D40768 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320514 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/msan/CMakeLists.txt28
-rw-r--r--test/msan/lit.site.cfg.in4
2 files changed, 26 insertions, 6 deletions
diff --git a/test/msan/CMakeLists.txt b/test/msan/CMakeLists.txt
index b4532cfc9..7919a6cd2 100644
--- a/test/msan/CMakeLists.txt
+++ b/test/msan/CMakeLists.txt
@@ -1,26 +1,44 @@
set(MSAN_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(MSAN_TESTSUITES)
+set(MSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
set(MSAN_TEST_ARCH ${MSAN_SUPPORTED_ARCH})
if(APPLE)
darwin_filter_host_archs(MSAN_SUPPORTED_ARCH MSAN_TEST_ARCH)
endif()
-foreach(arch ${MSAN_TEST_ARCH})
+macro(add_msan_testsuite arch lld thinlto)
set(MSAN_TEST_TARGET_ARCH ${arch})
- string(TOLOWER "-${arch}" MSAN_TEST_CONFIG_SUFFIX)
get_test_cc_for_arch(${arch} MSAN_TEST_TARGET_CC MSAN_TEST_TARGET_CFLAGS)
- string(TOUPPER ${arch} ARCH_UPPER_CASE)
- set(CONFIG_NAME ${ARCH_UPPER_CASE}Config)
+
+ string(TOUPPER ${arch} CONFIG_NAME)
+
+ if (${thinlto})
+ set(CONFIG_NAME "thinlto-${CONFIG_NAME}")
+ list(APPEND MSAN_TEST_DEPS LTO)
+ endif()
+ if (${lld})
+ set(CONFIG_NAME "lld-${CONFIG_NAME}")
+ list(APPEND MSAN_TEST_DEPS lld)
+ endif()
+ set(MSAN_TEST_USE_THINLTO ${thinlto})
+ set(MSAN_TEST_USE_LLD ${lld})
configure_lit_site_cfg(
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg)
list(APPEND MSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
+endmacro()
+
+foreach(arch ${MSAN_TEST_ARCH})
+ add_msan_testsuite(${arch} False False)
+
+ if(COMPILER_RT_HAS_LLD AND arch STREQUAL "x86_64" AND NOT (APPLE OR WIN32))
+ add_msan_testsuite(${arch} True False)
+ endif()
endforeach()
-set(MSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
if(NOT COMPILER_RT_STANDALONE_BUILD)
list(APPEND MSAN_TEST_DEPS msan)
endif()
diff --git a/test/msan/lit.site.cfg.in b/test/msan/lit.site.cfg.in
index a9656f24d..f744d71fd 100644
--- a/test/msan/lit.site.cfg.in
+++ b/test/msan/lit.site.cfg.in
@@ -1,9 +1,11 @@
@LIT_SITE_CFG_IN_HEADER@
# Tool-specific config options.
-config.name_suffix = "@MSAN_TEST_CONFIG_SUFFIX@"
+config.name_suffix = "-@CONFIG_NAME@"
config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@"
config.target_arch = "@MSAN_TEST_TARGET_ARCH@"
+config.use_lld = @MSAN_TEST_USE_LLD@
+config.use_thinlto = @MSAN_TEST_USE_THINLTO@
# Load common config for all compiler-rt lit tests.
lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")