forked from OSchip/llvm-project
[ASan] lit tests: create common autogenerated config for running compiler-rt lit tests, and use it in ASan
llvm-svn: 183400
This commit is contained in:
parent
c3282c0b3c
commit
6a65b18992
|
@ -36,6 +36,7 @@ set(CMAKE_MODULE_PATH
|
|||
include(AddCompilerRT)
|
||||
|
||||
set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
# Setup custom SDK sysroots.
|
||||
set(COMPILER_RT_DARWIN_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/darwin)
|
||||
set(COMPILER_RT_LINUX_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/linux)
|
||||
|
|
|
@ -19,6 +19,10 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND NOT ANDROID)
|
|||
add_subdirectory(lsan)
|
||||
endif()
|
||||
|
||||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.common.configured.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lit.common.configured)
|
||||
|
||||
# The top-level lib directory contains a large amount of C code which provides
|
||||
# generic implementations of the core runtime library along with optimized
|
||||
# architecture-specific code in various subdirectories.
|
||||
|
|
|
@ -48,15 +48,6 @@ if llvm_src_root is None:
|
|||
lit.load_config(config, asan_site_cfg)
|
||||
raise SystemExit
|
||||
|
||||
# Setup attributes common for all compiler-rt projects.
|
||||
compiler_rt_src_root = get_required_attr(config, "compiler_rt_src_root")
|
||||
compiler_rt_lit_cfg = os.path.join(compiler_rt_src_root, "lib",
|
||||
"lit.common.cfg")
|
||||
if (not compiler_rt_lit_cfg) or (not os.path.exists(compiler_rt_lit_cfg)):
|
||||
lit.fatal("Can't find common compiler-rt lit config at: %r"
|
||||
% compiler_rt_lit_cfg)
|
||||
lit.load_config(config, compiler_rt_lit_cfg)
|
||||
|
||||
# Setup default compiler flags used with -fsanitize=address option.
|
||||
# FIXME: Review the set of required flags and check if it can be reduced.
|
||||
clang_asan_cxxflags = ("-ccc-cxx "
|
||||
|
|
|
@ -1,23 +1,11 @@
|
|||
## Autogenerated by LLVM/Clang configuration.
|
||||
# Do not edit!
|
||||
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
config.host_os = "@HOST_OS@"
|
||||
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
|
||||
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
|
||||
config.compiler_rt_src_root = "@COMPILER_RT_SOURCE_DIR@"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.clang = "@LLVM_BINARY_DIR@/bin/clang"
|
||||
config.compiler_rt_arch = "@COMPILER_RT_SUPPORTED_ARCH@"
|
||||
# Load common config for all compiler-rt lit tests.
|
||||
lit.load_config(config, "@COMPILER_RT_BINARY_DIR@/lib/lit.common.configured")
|
||||
|
||||
# Tool-specific config options.
|
||||
config.asan_source_dir = "@ASAN_SOURCE_DIR@"
|
||||
|
||||
# LLVM tools dir can be passed in lit parameters, so try to
|
||||
# apply substitution.
|
||||
try:
|
||||
config.llvm_tools_dir = config.llvm_tools_dir % lit.params
|
||||
except KeyError,e:
|
||||
key, = e.args
|
||||
lit.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key, key))
|
||||
|
||||
# Let the main config do the real work.
|
||||
# Load tool-specific config that would do the real work.
|
||||
lit.load_config(config, "@ASAN_SOURCE_DIR@/lit_tests/lit.cfg")
|
||||
|
|
|
@ -15,8 +15,6 @@ config.test_format = lit.formats.ShTest(execute_external)
|
|||
clang_path = getattr(config, 'clang', None)
|
||||
if (not clang_path) or (not os.path.exists(clang_path)):
|
||||
lit.fatal("Can't find Clang on path %r" % clang_path)
|
||||
if not lit.quiet:
|
||||
lit.note("using clang: %r" % clang_path)
|
||||
|
||||
# Clear some environment variables that might affect Clang.
|
||||
possibly_dangerous_env_vars = ['COMPILER_PATH', 'RC_DEBUG_OPTIONS',
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
## Autogenerated by LLVM/Clang configuration.
|
||||
# Do not edit!
|
||||
|
||||
# Generic config options for all compiler-rt lit tests.
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
config.host_os = "@HOST_OS@"
|
||||
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
|
||||
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
|
||||
config.compiler_rt_src_root = "@COMPILER_RT_SOURCE_DIR@"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.clang = "@LLVM_BINARY_DIR@/bin/clang"
|
||||
config.compiler_rt_arch = "@COMPILER_RT_SUPPORTED_ARCH@"
|
||||
|
||||
# LLVM tools dir can be passed in lit parameters, so try to
|
||||
# apply substitution.
|
||||
try:
|
||||
config.llvm_tools_dir = config.llvm_tools_dir % lit.params
|
||||
except KeyError,e:
|
||||
key, = e.args
|
||||
lit.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key, key))
|
||||
|
||||
# Setup attributes common for all compiler-rt projects.
|
||||
lit.load_config(config, "@COMPILER_RT_SOURCE_DIR@/lib/lit.common.cfg")
|
Loading…
Reference in New Issue