[compiler-rt] r260230 - [msan] Run the tests for each supported arch and suffix each one to distinguish them.

Evgenii Stepanov via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 11 13:57:08 PST 2016


Hi,

I don't know what's going on and if the problem is in this CL yet, but
on x86_64 Linux msan_test.cc is no longer run as part of "check-msan"
target.

On Wed, Feb 10, 2016 at 3:59 PM, Alexey Samsonov via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
> On Wed, Feb 10, 2016 at 2:46 AM, Daniel Sanders <Daniel.Sanders at imgtec.com>
> wrote:
>>
>> It works well enough for the 3.8 release. It marks the test unsupported
>> for all supported targets if any of them is mips64. This means it will
>> incorrectly mark mips (32-bit) unsupported as well but this is ok because
>> the whole of msan is unsupported for mips (32-bit) at the moment.
>>
>>
>>
>> I'll commit the 'UNSUPPORTED:mips64-supported-target' to the branch since
>> that seems like the obvious thing to do and is a safer bet than merging this
>> and D17045 this late in the release process.
>
>
> Sounds good, thanks!
>
>>
>>
>>
>> Thanks
>>
>>
>>
>> From: Alexey Samsonov [mailto:vonosmas at gmail.com]
>> Sent: 10 February 2016 01:01
>> To: Daniel Sanders
>> Cc: llvm-commits at lists.llvm.org; Hans Wennborg
>> Subject: Re: [compiler-rt] r260230 - [msan] Run the tests for each
>> supported arch and suffix each one to distinguish them.
>>
>>
>>
>> I'm curious if you can use a simpler workaround to disable this test in
>> the release branch: will adding
>>
>> UNSUPPORTED:mips64-supported-target
>>
>> work there?
>>
>>
>>
>> (I agree that http://reviews.llvm.org/D17045 is cleaner fix).
>>
>>
>>
>> On Tue, Feb 9, 2016 at 3:15 PM, Daniel Sanders <Daniel.Sanders at imgtec.com>
>> wrote:
>>
>> Hi,
>>
>> Is it ok to merge this to the 3.8 release? It turns out I need part of it
>> (specifically the ${arch} variable from the loop) to fix the hanging test on
>> our big-endian target (see http://reviews.llvm.org/D17045).
>>
>> ________________________________________
>> From: llvm-commits [llvm-commits-bounces at lists.llvm.org] on behalf of
>> Daniel Sanders via llvm-commits [llvm-commits at lists.llvm.org]
>> Sent: 09 February 2016 16:18
>> To: llvm-commits at lists.llvm.org
>> Subject: [compiler-rt] r260230 - [msan] Run the tests for each supported
>> arch and suffix each one to distinguish them.
>>
>>
>> Author: dsanders
>> Date: Tue Feb  9 10:18:15 2016
>> New Revision: 260230
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=260230&view=rev
>> Log:
>> [msan] Run the tests for each supported arch and suffix each one to
>> distinguish them.
>>
>> Summary:
>> Previously, the tests only ran for the 64-bit equivalent of the default
>> target
>> (see -m64).
>> Given the supported architecture list only contains 64-bit targets, this
>> happens
>> to work out the same as the supported targets in most cases but may matter
>> for
>> X86_64/X86_64h on Darwin.
>>
>> For other targets, the practical effect is that the test names contain the
>> architecture. This resolves some confusion when msan tests fail since
>> their
>> name no longer implies that they are trying to test the default target.
>>
>> Reviewers: samsonov
>>
>> Subscribers: tberghammer, danalbert, srhines, llvm-commits
>>
>> Differential Revision: http://reviews.llvm.org/D16855
>>
>> Modified:
>>     compiler-rt/trunk/test/msan/CMakeLists.txt
>>     compiler-rt/trunk/test/msan/lit.cfg
>>     compiler-rt/trunk/test/msan/lit.site.cfg.in
>>
>> Modified: compiler-rt/trunk/test/msan/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/CMakeLists.txt?rev=260230&r1=260229&r2=260230&view=diff
>>
>> ==============================================================================
>> --- compiler-rt/trunk/test/msan/CMakeLists.txt (original)
>> +++ compiler-rt/trunk/test/msan/CMakeLists.txt Tue Feb  9 10:18:15 2016
>> @@ -1,8 +1,32 @@
>>  set(MSAN_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
>>
>> -configure_lit_site_cfg(
>> -  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
>> -  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
>> +set(MSAN_TESTSUITES)
>> +
>> +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})
>> +  string(TOLOWER "-${arch}" MSAN_TEST_CONFIG_SUFFIX)
>> +  if(ANDROID OR ${arch} MATCHES "arm|aarch64")
>> +    # This is only true if we are cross-compiling.
>> +    # Build all tests with host compiler and use host tools.
>> +    set(MSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})
>> +    set(MSAN_TEST_TARGET_CFLAGS ${COMPILER_RT_TEST_COMPILER_CFLAGS})
>> +  else()
>> +    get_target_flags_for_arch(${arch} MSAN_TEST_TARGET_CFLAGS)
>> +    string(REPLACE ";" " " MSAN_TEST_TARGET_CFLAGS
>> "${MSAN_TEST_TARGET_CFLAGS}")
>> +  endif()
>> +
>> +  string(TOUPPER ${arch} ARCH_UPPER_CASE)
>> +  set(CONFIG_NAME ${ARCH_UPPER_CASE}Config)
>> +
>> +  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})
>> +endforeach()
>>
>>  set(MSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
>>  if(NOT COMPILER_RT_STANDALONE_BUILD)
>> @@ -17,7 +41,7 @@ if(COMPILER_RT_INCLUDE_TESTS AND COMPILE
>>  endif()
>>
>>  add_lit_testsuite(check-msan "Running the MemorySanitizer tests"
>> -  ${CMAKE_CURRENT_BINARY_DIR}
>> +  ${MSAN_TESTSUITES}
>>    DEPENDS ${MSAN_TEST_DEPS}
>>    )
>>  set_target_properties(check-msan PROPERTIES FOLDER "MSan tests")
>>
>> Modified: compiler-rt/trunk/test/msan/lit.cfg
>> URL:
>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/lit.cfg?rev=260230&r1=260229&r2=260230&view=diff
>>
>> ==============================================================================
>> --- compiler-rt/trunk/test/msan/lit.cfg (original)
>> +++ compiler-rt/trunk/test/msan/lit.cfg Tue Feb  9 10:18:15 2016
>> @@ -3,17 +3,18 @@
>>  import os
>>
>>  # Setup config name.
>> -config.name = 'MemorySanitizer'
>> +config.name = 'MemorySanitizer' + config.name_suffix
>>
>>  # Setup source root.
>>  config.test_source_root = os.path.dirname(__file__)
>>
>>  # Setup default compiler flags used with -fsanitize=memory option.
>> -clang_msan_cflags = ["-fsanitize=memory",
>> -                     "-mno-omit-leaf-frame-pointer",
>> -                     "-fno-omit-frame-pointer",
>> -                     "-fno-optimize-sibling-calls",
>> -                     "-m64"] + config.debug_info_flags
>> +clang_msan_cflags = (["-fsanitize=memory",
>> +                      "-mno-omit-leaf-frame-pointer",
>> +                      "-fno-omit-frame-pointer",
>> +                      "-fno-optimize-sibling-calls"] +
>> +                      [config.target_cflags] +
>> +                      config.debug_info_flags)
>>  # Some Msan tests leverage backtrace() which requires libexecinfo on
>> FreeBSD.
>>  if config.host_os == 'FreeBSD':
>>    clang_msan_cflags += ["-lexecinfo"]
>>
>> Modified: compiler-rt/trunk/test/msan/lit.site.cfg.in
>> URL:
>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/lit.site.cfg.in?rev=260230&r1=260229&r2=260230&view=diff
>>
>> ==============================================================================
>> --- compiler-rt/trunk/test/msan/lit.site.cfg.in (original)
>> +++ compiler-rt/trunk/test/msan/lit.site.cfg.in Tue Feb  9 10:18:15 2016
>> @@ -1,5 +1,11 @@
>> +## Autogenerated by LLVM/Clang configuration.
>> +# Do not edit!
>> +
>>  # Load common config for all compiler-rt lit tests.
>>  lit_config.load_config(config,
>> "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
>>
>> +# Tool-specific config options.
>> +config.name_suffix = "@MSAN_TEST_CONFIG_SUFFIX@"
>> +config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@"
>>  # Load tool-specific config that would do the real work.
>>  lit_config.load_config(config, "@MSAN_LIT_SOURCE_DIR@/lit.cfg")
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>>
>>
>>
>>
>> --
>>
>> Alexey Samsonov
>> vonosmas at gmail.com
>
>
>
>
> --
> Alexey Samsonov
> vonosmas at gmail.com
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


More information about the llvm-commits mailing list