diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2017-12-12 19:17:52 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2017-12-12 19:17:52 +0000 |
commit | 8106beb37dc9b0d632c3596895bda21ef8108e7d (patch) | |
tree | 39bd2e036e3f0264b47afc410d5e4f1a7ac28553 | |
parent | eff015538b70adcb9f3976ac8d2181513e28c1c1 (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.txt | 28 | ||||
-rw-r--r-- | test/msan/lit.site.cfg.in | 4 |
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") |