diff options
author | Vitaly Buka <vitalybuka@google.com> | 2017-09-16 05:13:56 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2017-09-16 05:13:56 +0000 |
commit | 2e99c092c389eed3bdf31282f8f06f4265d8eab0 (patch) | |
tree | 21a8e3f6b296fa310d5bc9784a64ca8a87bb27a8 | |
parent | 3c6b804641aa83d6a5307ca3ea6a73e75fc4ecce (diff) |
[sanitizer] Move android_commoands from asan into sanitizer_common
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@313443 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/asan/lit.cfg | 13 | ||||
-rw-r--r-- | test/asan/lit.site.cfg.in | 2 | ||||
-rw-r--r-- | test/lit.common.cfg | 12 | ||||
-rw-r--r-- | test/lit.common.configured.in | 1 | ||||
-rw-r--r-- | test/sanitizer_common/android_commands/android_common.py (renamed from test/asan/android_commands/android_common.py) | 0 | ||||
-rwxr-xr-x | test/sanitizer_common/android_commands/android_compile.py (renamed from test/asan/android_commands/android_compile.py) | 0 | ||||
-rwxr-xr-x | test/sanitizer_common/android_commands/android_run.py (renamed from test/asan/android_commands/android_run.py) | 0 |
8 files changed, 14 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e021bf84a..dd408d7e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,7 @@ construct_compiler_rt_default_triple() if ("${COMPILER_RT_DEFAULT_TARGET_ABI}" STREQUAL "androideabi") set(ANDROID 1) endif() +pythonize_bool(ANDROID) set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/test/asan/lit.cfg b/test/asan/lit.cfg index 1edefe9d7..213693e6f 100644 --- a/test/asan/lit.cfg +++ b/test/asan/lit.cfg @@ -71,11 +71,6 @@ if config.compiler_id == 'GNU': else: extra_link_flags = [] -# BFD linker in 64-bit android toolchains fails to find libm.so, which is a -# transitive shared library dependency (via asan runtime). -if config.android: - extra_link_flags += ["-lm"] - # Setup default compiler flags used with -fsanitize=address option. # FIXME: Review the set of required flags and check if it can be reduced. target_cflags = [get_required_attr(config, "target_cflags")] + extra_link_flags @@ -110,12 +105,6 @@ if platform.system() == 'Windows': win_runtime_feature = "win32-static-asan" config.available_features.add(win_runtime_feature) -asan_lit_source_dir = get_required_attr(config, "asan_lit_source_dir") -if config.android == "1": - config.available_features.add('android') - compile_wrapper = os.path.join(asan_lit_source_dir, "android_commands", "android_compile.py") + " " - config.compile_wrapper = compile_wrapper - def build_invocation(compile_flags): return " " + " ".join([config.compile_wrapper, config.clang] + compile_flags) + " " @@ -178,7 +167,7 @@ python_exec = get_required_attr(config, "python_executable") config.substitutions.append( ("%sancov ", python_exec + " " + sancov + " ") ) # Determine kernel bitness -if config.host_arch.find('64') != -1 and config.android != "1": +if config.host_arch.find('64') != -1 and not config.android: kernel_bits = '64' else: kernel_bits = '32' diff --git a/test/asan/lit.site.cfg.in b/test/asan/lit.site.cfg.in index 100592db2..6c8f882bc 100644 --- a/test/asan/lit.site.cfg.in +++ b/test/asan/lit.site.cfg.in @@ -2,11 +2,9 @@ # Tool-specific config options. config.name_suffix = "@ASAN_TEST_CONFIG_SUFFIX@" -config.asan_lit_source_dir = "@ASAN_LIT_SOURCE_DIR@" config.target_cflags = "@ASAN_TEST_TARGET_CFLAGS@" config.clang = "@ASAN_TEST_TARGET_CC@" config.bits = "@ASAN_TEST_BITS@" -config.android = "@ANDROID@" config.ios = @ASAN_TEST_IOS_PYBOOL@ config.iossim = @ASAN_TEST_IOSSIM_PYBOOL@ config.asan_dynamic = @ASAN_TEST_DYNAMIC@ diff --git a/test/lit.common.cfg b/test/lit.common.cfg index 6c07ca661..5667e12a2 100644 --- a/test/lit.common.cfg +++ b/test/lit.common.cfg @@ -52,6 +52,11 @@ else: # Add compiler ID to the list of available features. config.available_features.add(compiler_id) +# BFD linker in 64-bit android toolchains fails to find libm.so, which is a +# transitive shared library dependency (via asan runtime). +if config.android: + config.target_cflags += " -lm" + # Clear some environment variables that might affect Clang. possibly_dangerous_env_vars = ['ASAN_OPTIONS', 'DFSAN_OPTIONS', 'LSAN_OPTIONS', 'MSAN_OPTIONS', 'UBSAN_OPTIONS', @@ -99,7 +104,6 @@ if config.emulator: config.compile_wrapper = "" elif config.ios: config.available_features.add('ios') - device_id_env = "SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER" if config.iossim else "SANITIZER_IOS_TEST_DEVICE_IDENTIFIER" if device_id_env in os.environ: config.environment[device_id_env] = os.environ[device_id_env] ios_commands_dir = os.path.join(config.compiler_rt_src_root, "test", "sanitizer_common", "ios_commands") @@ -109,6 +113,12 @@ elif config.ios: config.substitutions.append(('%env ', env_wrapper + " ")) compile_wrapper = os.path.join(ios_commands_dir, "iossim_compile.py" if config.iossim else "ios_compile.py") config.compile_wrapper = compile_wrapper +elif config.android: + config.available_features.add('android') + compile_wrapper = os.path.join(config.compiler_rt_src_root, "test", "sanitizer_common", "android_commands", "android_compile.py") + " " + config.compile_wrapper = compile_wrapper + config.substitutions.append( ('%run', "") ) + config.substitutions.append( ('%env ', "env ") ) else: config.substitutions.append( ('%run', "") ) config.substitutions.append( ('%env ', "env ") ) diff --git a/test/lit.common.configured.in b/test/lit.common.configured.in index dc3081d6a..b49e8eb9a 100644 --- a/test/lit.common.configured.in +++ b/test/lit.common.configured.in @@ -32,6 +32,7 @@ set_default("has_lld", @COMPILER_RT_HAS_LLD_PYBOOL@) set_default("can_symbolize", @CAN_SYMBOLIZE@) set_default("use_lld", False) set_default("use_thinlto", False) +set_default("android", @ANDROID_PYBOOL@) config.available_features.add('target-is-%s' % config.target_arch) # LLVM tools dir can be passed in lit parameters, so try to diff --git a/test/asan/android_commands/android_common.py b/test/sanitizer_common/android_commands/android_common.py index 41994bb87..41994bb87 100644 --- a/test/asan/android_commands/android_common.py +++ b/test/sanitizer_common/android_commands/android_common.py diff --git a/test/asan/android_commands/android_compile.py b/test/sanitizer_common/android_commands/android_compile.py index 4b880886b..4b880886b 100755 --- a/test/asan/android_commands/android_compile.py +++ b/test/sanitizer_common/android_commands/android_compile.py diff --git a/test/asan/android_commands/android_run.py b/test/sanitizer_common/android_commands/android_run.py index 7e599453d..7e599453d 100755 --- a/test/asan/android_commands/android_run.py +++ b/test/sanitizer_common/android_commands/android_run.py |