diff --git a/compiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c b/compiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c index c26d33dce7d38..18476d5a9adec 100644 --- a/compiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c +++ b/compiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c @@ -8,9 +8,6 @@ // RUN: %env_lsan_opts=$LSAN_BASE:use_tls=1 %run %t // RUN: %env_lsan_opts=$LSAN_BASE:use_tls=0 not %run %t 2>&1 | FileCheck %s -// Investigate why it does not fail with use_stack=0 -// UNSUPPORTED: arm-linux || armhf-linux - #include #include #include diff --git a/compiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp b/compiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp index ecb6dbe4f7640..650e6ad20aa90 100644 --- a/compiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp +++ b/compiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp @@ -5,9 +5,6 @@ // RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=1" %run %t 2>&1 // RUN: %env_lsan_opts="" %run %t 2>&1 -// Investigate why it does not fail with use_tls=0 -// UNSUPPORTED: arm-linux || armhf-linux - #include #include #include diff --git a/compiler-rt/test/lsan/TestCases/disabler.c b/compiler-rt/test/lsan/TestCases/disabler.c index 6bfca7a9f914f..73f1b3e36e937 100644 --- a/compiler-rt/test/lsan/TestCases/disabler.c +++ b/compiler-rt/test/lsan/TestCases/disabler.c @@ -3,9 +3,6 @@ // RUN: %clang_lsan %s -o %t // RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s -// Investigate why it does not fail with use_stack=0 -// UNSUPPORTED: arm-linux || armhf-linux - #include #include diff --git a/compiler-rt/test/lsan/TestCases/do_leak_check_override.cpp b/compiler-rt/test/lsan/TestCases/do_leak_check_override.cpp index 3503eb0f6426d..40a97635cc10c 100644 --- a/compiler-rt/test/lsan/TestCases/do_leak_check_override.cpp +++ b/compiler-rt/test/lsan/TestCases/do_leak_check_override.cpp @@ -6,9 +6,6 @@ // RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck --check-prefix=CHECK-strict %s // RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck --check-prefix=CHECK-normal %s -// Investigate why LeakyGlobal leak does show -// UNSUPPORTED: arm-linux || armhf-linux - #include #include #include diff --git a/compiler-rt/test/lsan/TestCases/ignore_object.c b/compiler-rt/test/lsan/TestCases/ignore_object.c index e5fc0128cac76..92f03ee33a05d 100644 --- a/compiler-rt/test/lsan/TestCases/ignore_object.c +++ b/compiler-rt/test/lsan/TestCases/ignore_object.c @@ -3,9 +3,6 @@ // RUN: %clang_lsan %s -o %t // RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s -// Investigate why it does not fail with use_stack=0 -// UNSUPPORTED: arm-linux || armhf-linux - #include #include diff --git a/compiler-rt/test/lsan/TestCases/use_after_return.cpp b/compiler-rt/test/lsan/TestCases/use_after_return.cpp index decab6c69611a..5c60ec60f3e09 100644 --- a/compiler-rt/test/lsan/TestCases/use_after_return.cpp +++ b/compiler-rt/test/lsan/TestCases/use_after_return.cpp @@ -6,9 +6,6 @@ // RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 %env_lsan_opts=$LSAN_BASE:"use_stacks=1" %run %t 2>&1 // RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 %env_lsan_opts="" %run %t 2>&1 -// Investigate why it does not fail with use_stack=0 -// UNSUPPORTED: arm-linux || armhf-linux - #include #include #include "sanitizer_common/print_address.h" diff --git a/compiler-rt/test/sanitizer_common/CMakeLists.txt b/compiler-rt/test/sanitizer_common/CMakeLists.txt index 7f1b0f257716a..3af62a0c71ad5 100644 --- a/compiler-rt/test/sanitizer_common/CMakeLists.txt +++ b/compiler-rt/test/sanitizer_common/CMakeLists.txt @@ -76,6 +76,15 @@ foreach(tool ${SUPPORTED_TOOLS}) set(SANITIZER_COMMON_TEST_TARGET_ARCH ${arch}) get_test_cc_for_arch(${arch} SANITIZER_COMMON_TEST_TARGET_CC SANITIZER_COMMON_TEST_TARGET_CFLAGS) set(CONFIG_NAME ${tool}-${arch}-${OS_NAME}) + + # ARM on Linux might use the slow unwinder as default and the unwind table is + # required to get a complete stacktrace. + if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND NOT ANDROID) + list(APPEND SANITIZER_COMMON_TEST_TARGET_CFLAGS -funwind-tables) + string(REPLACE ";" " " SANITIZER_COMMON_TEST_TARGET_CFLAGS + "${SANITIZER_COMMON_TEST_TARGET_CFLAGS}") + endif() + configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)