summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--lib/tsan/CMakeLists.txt5
-rw-r--r--lib/tsan/Makefile.old3
-rwxr-xr-xlib/tsan/check_memcpy.sh3
-rw-r--r--lib/tsan/lit_tests/CMakeLists.txt35
-rw-r--r--lib/tsan/lit_tests/Unit/lit.cfg23
-rw-r--r--lib/tsan/lit_tests/Unit/lit.site.cfg.in8
-rw-r--r--lib/tsan/tests/CMakeLists.txt4
-rw-r--r--test/CMakeLists.txt3
-rw-r--r--test/tsan/CMakeLists.txt19
-rw-r--r--test/tsan/Helpers/blacklist.txt (renamed from lib/tsan/lit_tests/Helpers/blacklist.txt)0
-rw-r--r--test/tsan/Helpers/lit.local.cfg (renamed from lib/tsan/lit_tests/Helpers/lit.local.cfg)0
-rw-r--r--test/tsan/SharedLibs/lit.local.cfg (renamed from lib/tsan/lit_tests/SharedLibs/lit.local.cfg)0
-rw-r--r--test/tsan/SharedLibs/load_shared_lib-so.cc (renamed from lib/tsan/lit_tests/SharedLibs/load_shared_lib-so.cc)0
-rw-r--r--test/tsan/Unit/lit.site.cfg.in14
-rw-r--r--test/tsan/aligned_vs_unaligned_race.cc (renamed from lib/tsan/lit_tests/aligned_vs_unaligned_race.cc)0
-rw-r--r--test/tsan/allocator_returns_null.cc (renamed from lib/tsan/lit_tests/allocator_returns_null.cc)0
-rw-r--r--test/tsan/atomic_free.cc (renamed from lib/tsan/lit_tests/atomic_free.cc)0
-rw-r--r--test/tsan/atomic_free2.cc (renamed from lib/tsan/lit_tests/atomic_free2.cc)0
-rw-r--r--test/tsan/atomic_norace.cc (renamed from lib/tsan/lit_tests/atomic_norace.cc)0
-rw-r--r--test/tsan/atomic_race.cc (renamed from lib/tsan/lit_tests/atomic_race.cc)0
-rw-r--r--test/tsan/atomic_stack.cc (renamed from lib/tsan/lit_tests/atomic_stack.cc)0
-rw-r--r--test/tsan/benign_race.cc (renamed from lib/tsan/lit_tests/benign_race.cc)0
-rw-r--r--test/tsan/blacklist.cc (renamed from lib/tsan/lit_tests/blacklist.cc)0
-rw-r--r--test/tsan/cond.c (renamed from lib/tsan/lit_tests/cond.c)0
-rw-r--r--test/tsan/cond_race.cc (renamed from lib/tsan/lit_tests/cond_race.cc)0
-rw-r--r--test/tsan/cond_version.c (renamed from lib/tsan/lit_tests/cond_version.c)0
-rw-r--r--test/tsan/deep_stack1.cc (renamed from lib/tsan/lit_tests/deep_stack1.cc)0
-rw-r--r--test/tsan/default_options.cc (renamed from lib/tsan/lit_tests/default_options.cc)0
-rw-r--r--test/tsan/fd_close_norace.cc (renamed from lib/tsan/lit_tests/fd_close_norace.cc)0
-rw-r--r--test/tsan/fd_close_norace2.cc (renamed from lib/tsan/lit_tests/fd_close_norace2.cc)0
-rw-r--r--test/tsan/fd_dup_norace.cc (renamed from lib/tsan/lit_tests/fd_dup_norace.cc)0
-rw-r--r--test/tsan/fd_location.cc (renamed from lib/tsan/lit_tests/fd_location.cc)0
-rw-r--r--test/tsan/fd_pipe_norace.cc (renamed from lib/tsan/lit_tests/fd_pipe_norace.cc)0
-rw-r--r--test/tsan/fd_pipe_race.cc (renamed from lib/tsan/lit_tests/fd_pipe_race.cc)0
-rw-r--r--test/tsan/fd_socket_connect_norace.cc (renamed from lib/tsan/lit_tests/fd_socket_connect_norace.cc)0
-rw-r--r--test/tsan/fd_socket_norace.cc (renamed from lib/tsan/lit_tests/fd_socket_norace.cc)0
-rw-r--r--test/tsan/fd_socketpair_norace.cc (renamed from lib/tsan/lit_tests/fd_socketpair_norace.cc)0
-rw-r--r--test/tsan/fd_stdout_race.cc (renamed from lib/tsan/lit_tests/fd_stdout_race.cc)0
-rw-r--r--test/tsan/fork_deadlock.cc (renamed from lib/tsan/lit_tests/fork_deadlock.cc)0
-rw-r--r--test/tsan/fork_multithreaded.cc (renamed from lib/tsan/lit_tests/fork_multithreaded.cc)0
-rw-r--r--test/tsan/fork_multithreaded3.cc (renamed from lib/tsan/lit_tests/fork_multithreaded3.cc)0
-rw-r--r--test/tsan/free_race.c (renamed from lib/tsan/lit_tests/free_race.c)0
-rw-r--r--test/tsan/free_race.c.supp (renamed from lib/tsan/lit_tests/free_race.c.supp)0
-rw-r--r--test/tsan/free_race2.c (renamed from lib/tsan/lit_tests/free_race2.c)0
-rw-r--r--test/tsan/getline_nohang.cc (renamed from lib/tsan/lit_tests/getline_nohang.cc)0
-rw-r--r--test/tsan/global_race.cc (renamed from lib/tsan/lit_tests/global_race.cc)0
-rw-r--r--test/tsan/halt_on_error.cc (renamed from lib/tsan/lit_tests/halt_on_error.cc)0
-rw-r--r--test/tsan/heap_race.cc (renamed from lib/tsan/lit_tests/heap_race.cc)0
-rw-r--r--test/tsan/ignore_free.cc (renamed from lib/tsan/lit_tests/ignore_free.cc)0
-rw-r--r--test/tsan/ignore_lib0.cc (renamed from lib/tsan/lit_tests/ignore_lib0.cc)0
-rw-r--r--test/tsan/ignore_lib0.cc.supp (renamed from lib/tsan/lit_tests/ignore_lib0.cc.supp)0
-rw-r--r--test/tsan/ignore_lib1.cc (renamed from lib/tsan/lit_tests/ignore_lib1.cc)0
-rw-r--r--test/tsan/ignore_lib1.cc.supp (renamed from lib/tsan/lit_tests/ignore_lib1.cc.supp)0
-rw-r--r--test/tsan/ignore_lib2.cc (renamed from lib/tsan/lit_tests/ignore_lib2.cc)0
-rw-r--r--test/tsan/ignore_lib2.cc.supp (renamed from lib/tsan/lit_tests/ignore_lib2.cc.supp)0
-rw-r--r--test/tsan/ignore_lib3.cc (renamed from lib/tsan/lit_tests/ignore_lib3.cc)0
-rw-r--r--test/tsan/ignore_lib3.cc.supp (renamed from lib/tsan/lit_tests/ignore_lib3.cc.supp)0
-rw-r--r--test/tsan/ignore_lib_lib.h (renamed from lib/tsan/lit_tests/ignore_lib_lib.h)0
-rw-r--r--test/tsan/ignore_malloc.cc (renamed from lib/tsan/lit_tests/ignore_malloc.cc)0
-rw-r--r--test/tsan/ignore_race.cc (renamed from lib/tsan/lit_tests/ignore_race.cc)0
-rw-r--r--test/tsan/ignore_sync.cc (renamed from lib/tsan/lit_tests/ignore_sync.cc)0
-rw-r--r--test/tsan/inlined_memcpy_race.cc (renamed from lib/tsan/lit_tests/inlined_memcpy_race.cc)0
-rw-r--r--test/tsan/interface_atomic_test.c (renamed from lib/tsan/lit_tests/interface_atomic_test.c)0
-rw-r--r--test/tsan/java.h (renamed from lib/tsan/lit_tests/java.h)0
-rw-r--r--test/tsan/java_alloc.cc (renamed from lib/tsan/lit_tests/java_alloc.cc)0
-rw-r--r--test/tsan/java_lock.cc (renamed from lib/tsan/lit_tests/java_lock.cc)0
-rw-r--r--test/tsan/java_lock_move.cc (renamed from lib/tsan/lit_tests/java_lock_move.cc)0
-rw-r--r--test/tsan/java_lock_rec.cc (renamed from lib/tsan/lit_tests/java_lock_rec.cc)0
-rw-r--r--test/tsan/java_lock_rec_race.cc (renamed from lib/tsan/lit_tests/java_lock_rec_race.cc)0
-rw-r--r--test/tsan/java_race.cc (renamed from lib/tsan/lit_tests/java_race.cc)0
-rw-r--r--test/tsan/java_race_move.cc (renamed from lib/tsan/lit_tests/java_race_move.cc)0
-rw-r--r--test/tsan/java_rwlock.cc (renamed from lib/tsan/lit_tests/java_rwlock.cc)0
-rw-r--r--test/tsan/lit.cfg (renamed from lib/tsan/lit_tests/lit.cfg)34
-rw-r--r--test/tsan/lit.site.cfg.in (renamed from lib/tsan/lit_tests/lit.site.cfg.in)0
-rw-r--r--test/tsan/load_shared_lib.cc (renamed from lib/tsan/lit_tests/load_shared_lib.cc)0
-rw-r--r--test/tsan/longjmp.cc (renamed from lib/tsan/lit_tests/longjmp.cc)0
-rw-r--r--test/tsan/longjmp2.cc (renamed from lib/tsan/lit_tests/longjmp2.cc)0
-rw-r--r--test/tsan/longjmp3.cc (renamed from lib/tsan/lit_tests/longjmp3.cc)0
-rw-r--r--test/tsan/longjmp4.cc (renamed from lib/tsan/lit_tests/longjmp4.cc)0
-rw-r--r--test/tsan/malloc_hook.cc (renamed from lib/tsan/lit_tests/malloc_hook.cc)0
-rw-r--r--test/tsan/malloc_overflow.cc (renamed from lib/tsan/lit_tests/malloc_overflow.cc)0
-rw-r--r--test/tsan/malloc_stack.cc (renamed from lib/tsan/lit_tests/malloc_stack.cc)0
-rw-r--r--test/tsan/memcpy_race.cc (renamed from lib/tsan/lit_tests/memcpy_race.cc)0
-rw-r--r--test/tsan/mop_with_offset.cc (renamed from lib/tsan/lit_tests/mop_with_offset.cc)0
-rw-r--r--test/tsan/mop_with_offset2.cc (renamed from lib/tsan/lit_tests/mop_with_offset2.cc)0
-rw-r--r--test/tsan/mutex_cycle2.c (renamed from lib/tsan/lit_tests/mutex_cycle2.c)0
-rw-r--r--test/tsan/mutex_destroy_locked.cc (renamed from lib/tsan/lit_tests/mutex_destroy_locked.cc)0
-rw-r--r--test/tsan/mutex_robust.cc (renamed from lib/tsan/lit_tests/mutex_robust.cc)0
-rw-r--r--test/tsan/mutex_robust2.cc (renamed from lib/tsan/lit_tests/mutex_robust2.cc)0
-rw-r--r--test/tsan/mutexset1.cc (renamed from lib/tsan/lit_tests/mutexset1.cc)0
-rw-r--r--test/tsan/mutexset2.cc (renamed from lib/tsan/lit_tests/mutexset2.cc)0
-rw-r--r--test/tsan/mutexset3.cc (renamed from lib/tsan/lit_tests/mutexset3.cc)0
-rw-r--r--test/tsan/mutexset4.cc (renamed from lib/tsan/lit_tests/mutexset4.cc)0
-rw-r--r--test/tsan/mutexset5.cc (renamed from lib/tsan/lit_tests/mutexset5.cc)0
-rw-r--r--test/tsan/mutexset6.cc (renamed from lib/tsan/lit_tests/mutexset6.cc)0
-rw-r--r--test/tsan/mutexset7.cc (renamed from lib/tsan/lit_tests/mutexset7.cc)0
-rw-r--r--test/tsan/mutexset8.cc (renamed from lib/tsan/lit_tests/mutexset8.cc)0
-rw-r--r--test/tsan/oob_race.cc (renamed from lib/tsan/lit_tests/oob_race.cc)0
-rw-r--r--test/tsan/printf-1.c (renamed from lib/tsan/lit_tests/printf-1.c)0
-rw-r--r--test/tsan/race_on_barrier.c (renamed from lib/tsan/lit_tests/race_on_barrier.c)0
-rw-r--r--test/tsan/race_on_barrier2.c (renamed from lib/tsan/lit_tests/race_on_barrier2.c)0
-rw-r--r--test/tsan/race_on_heap.cc (renamed from lib/tsan/lit_tests/race_on_heap.cc)0
-rw-r--r--test/tsan/race_on_mutex.c (renamed from lib/tsan/lit_tests/race_on_mutex.c)0
-rw-r--r--test/tsan/race_on_mutex2.c (renamed from lib/tsan/lit_tests/race_on_mutex2.c)0
-rw-r--r--test/tsan/race_on_read.cc (renamed from lib/tsan/lit_tests/race_on_read.cc)0
-rw-r--r--test/tsan/race_on_speculative_load.cc (renamed from lib/tsan/lit_tests/race_on_speculative_load.cc)0
-rw-r--r--test/tsan/race_on_write.cc (renamed from lib/tsan/lit_tests/race_on_write.cc)0
-rw-r--r--test/tsan/race_with_finished_thread.cc (renamed from lib/tsan/lit_tests/race_with_finished_thread.cc)0
-rw-r--r--test/tsan/signal_errno.cc (renamed from lib/tsan/lit_tests/signal_errno.cc)0
-rw-r--r--test/tsan/signal_malloc.cc (renamed from lib/tsan/lit_tests/signal_malloc.cc)0
-rw-r--r--test/tsan/sigsuspend.cc (renamed from lib/tsan/lit_tests/sigsuspend.cc)0
-rw-r--r--test/tsan/simple_race.c (renamed from lib/tsan/lit_tests/simple_race.c)0
-rw-r--r--test/tsan/simple_race.cc (renamed from lib/tsan/lit_tests/simple_race.cc)0
-rw-r--r--test/tsan/simple_stack.c (renamed from lib/tsan/lit_tests/simple_stack.c)0
-rw-r--r--test/tsan/simple_stack2.cc (renamed from lib/tsan/lit_tests/simple_stack2.cc)0
-rw-r--r--test/tsan/sleep_sync.cc (renamed from lib/tsan/lit_tests/sleep_sync.cc)0
-rw-r--r--test/tsan/sleep_sync2.cc (renamed from lib/tsan/lit_tests/sleep_sync2.cc)0
-rw-r--r--test/tsan/stack_race.cc (renamed from lib/tsan/lit_tests/stack_race.cc)0
-rw-r--r--test/tsan/stack_race2.cc (renamed from lib/tsan/lit_tests/stack_race2.cc)0
-rw-r--r--test/tsan/static_init1.cc (renamed from lib/tsan/lit_tests/static_init1.cc)0
-rw-r--r--test/tsan/static_init2.cc (renamed from lib/tsan/lit_tests/static_init2.cc)0
-rw-r--r--test/tsan/static_init3.cc (renamed from lib/tsan/lit_tests/static_init3.cc)0
-rw-r--r--test/tsan/static_init4.cc (renamed from lib/tsan/lit_tests/static_init4.cc)0
-rw-r--r--test/tsan/static_init5.cc (renamed from lib/tsan/lit_tests/static_init5.cc)0
-rw-r--r--test/tsan/static_init6.cc (renamed from lib/tsan/lit_tests/static_init6.cc)0
-rw-r--r--test/tsan/suppress_same_address.cc (renamed from lib/tsan/lit_tests/suppress_same_address.cc)0
-rw-r--r--test/tsan/suppress_same_stacks.cc (renamed from lib/tsan/lit_tests/suppress_same_stacks.cc)0
-rw-r--r--test/tsan/suppressions_global.cc (renamed from lib/tsan/lit_tests/suppressions_global.cc)0
-rw-r--r--test/tsan/suppressions_global.cc.supp (renamed from lib/tsan/lit_tests/suppressions_global.cc.supp)0
-rw-r--r--test/tsan/suppressions_race.cc (renamed from lib/tsan/lit_tests/suppressions_race.cc)0
-rw-r--r--test/tsan/suppressions_race.cc.supp (renamed from lib/tsan/lit_tests/suppressions_race.cc.supp)0
-rw-r--r--test/tsan/suppressions_race2.cc (renamed from lib/tsan/lit_tests/suppressions_race2.cc)0
-rw-r--r--test/tsan/suppressions_race2.cc.supp (renamed from lib/tsan/lit_tests/suppressions_race2.cc.supp)0
-rwxr-xr-xtest/tsan/test_output.sh (renamed from lib/tsan/lit_tests/test_output.sh)11
-rw-r--r--test/tsan/thread_end_with_ignore.cc (renamed from lib/tsan/lit_tests/thread_end_with_ignore.cc)0
-rw-r--r--test/tsan/thread_end_with_ignore2.cc (renamed from lib/tsan/lit_tests/thread_end_with_ignore2.cc)0
-rw-r--r--test/tsan/thread_end_with_ignore3.cc (renamed from lib/tsan/lit_tests/thread_end_with_ignore3.cc)0
-rw-r--r--test/tsan/thread_leak.c (renamed from lib/tsan/lit_tests/thread_leak.c)0
-rw-r--r--test/tsan/thread_leak2.c (renamed from lib/tsan/lit_tests/thread_leak2.c)0
-rw-r--r--test/tsan/thread_leak3.c (renamed from lib/tsan/lit_tests/thread_leak3.c)0
-rw-r--r--test/tsan/thread_leak4.c (renamed from lib/tsan/lit_tests/thread_leak4.c)0
-rw-r--r--test/tsan/thread_leak5.c (renamed from lib/tsan/lit_tests/thread_leak5.c)0
-rw-r--r--test/tsan/thread_name.cc (renamed from lib/tsan/lit_tests/thread_name.cc)0
-rw-r--r--test/tsan/thread_name2.cc (renamed from lib/tsan/lit_tests/thread_name2.cc)0
-rw-r--r--test/tsan/tiny_race.c (renamed from lib/tsan/lit_tests/tiny_race.c)0
-rw-r--r--test/tsan/tls_race.cc (renamed from lib/tsan/lit_tests/tls_race.cc)0
-rw-r--r--test/tsan/tls_race2.cc (renamed from lib/tsan/lit_tests/tls_race2.cc)0
-rw-r--r--test/tsan/tsan-vs-gvn.cc (renamed from lib/tsan/lit_tests/tsan-vs-gvn.cc)0
-rw-r--r--test/tsan/unaligned_norace.cc (renamed from lib/tsan/lit_tests/unaligned_norace.cc)0
-rw-r--r--test/tsan/unaligned_race.cc (renamed from lib/tsan/lit_tests/unaligned_race.cc)0
-rw-r--r--test/tsan/user_fopen.cc (renamed from lib/tsan/lit_tests/user_fopen.cc)0
-rw-r--r--test/tsan/user_malloc.cc (renamed from lib/tsan/lit_tests/user_malloc.cc)0
-rw-r--r--test/tsan/virtual_inheritance_compile_bug.cc (renamed from lib/tsan/lit_tests/virtual_inheritance_compile_bug.cc)0
-rw-r--r--test/tsan/vptr_benign_race.cc (renamed from lib/tsan/lit_tests/vptr_benign_race.cc)0
-rw-r--r--test/tsan/vptr_harmful_race.cc (renamed from lib/tsan/lit_tests/vptr_harmful_race.cc)0
-rw-r--r--test/tsan/vptr_harmful_race2.cc (renamed from lib/tsan/lit_tests/vptr_harmful_race2.cc)0
-rw-r--r--test/tsan/write_in_reader_lock.cc (renamed from lib/tsan/lit_tests/write_in_reader_lock.cc)0
158 files changed, 51 insertions, 112 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b13c93fbc..50d9c307b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -235,6 +235,7 @@ filter_available_targets(ASAN_SUPPORTED_ARCH x86_64 i386 powerpc64)
filter_available_targets(DFSAN_SUPPORTED_ARCH x86_64)
filter_available_targets(LSAN_SUPPORTED_ARCH x86_64)
filter_available_targets(MSAN_SUPPORTED_ARCH x86_64)
+filter_available_targets(TSAN_SUPPORTED_ARCH x86_64)
filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386)
add_subdirectory(include)
diff --git a/lib/tsan/CMakeLists.txt b/lib/tsan/CMakeLists.txt
index d962883b9..bb7d97581 100644
--- a/lib/tsan/CMakeLists.txt
+++ b/lib/tsan/CMakeLists.txt
@@ -56,7 +56,7 @@ elseif(UNIX)
rtl/tsan_platform_linux.cc)
endif()
-set(TSAN_RUNTIME_LIBRARIES)
+add_custom_target(tsan)
# TSan is currently supported on 64-bit Linux only.
if(CAN_TARGET_x86_64 AND UNIX AND NOT APPLE)
set(TSAN_ASM_SOURCES rtl/tsan_rtl_amd64.S)
@@ -72,11 +72,10 @@ if(CAN_TARGET_x86_64 AND UNIX AND NOT APPLE)
CFLAGS ${TSAN_RTL_CFLAGS}
DEFS ${TSAN_COMMON_DEFINITIONS})
add_sanitizer_rt_symbols(clang_rt.tsan-${arch} rtl/tsan.syms.extra)
- list(APPEND TSAN_RUNTIME_LIBRARIES clang_rt.tsan-${arch}
+ add_dependencies(tsan clang_rt.tsan-${arch}
clang_rt.tsan-${arch}-symbols)
endif()
if(LLVM_INCLUDE_TESTS)
add_subdirectory(tests)
endif()
-add_subdirectory(lit_tests)
diff --git a/lib/tsan/Makefile.old b/lib/tsan/Makefile.old
index de1cfb3a7..269ed3faa 100644
--- a/lib/tsan/Makefile.old
+++ b/lib/tsan/Makefile.old
@@ -31,6 +31,7 @@ RTL_TEST_OBJ=$(patsubst %.cc,%.o,$(RTL_TEST_SRC))
UNIT_TEST_SRC=$(wildcard tests/unit/*_test.cc)
UNIT_TEST_OBJ=$(patsubst %.cc,%.o,$(UNIT_TEST_SRC))
UNIT_TEST_HDR=$(wildcard rtl/*.h) $(wildcard ../sanitizer_common/*.h)
+LIT_TESTS_PATH=../../test/tsan
INCLUDES=-Irtl -I.. -I../../include $(GTEST_INCLUDE)
@@ -60,7 +61,7 @@ test: libtsan tsan_test
run: all
(ulimit -s 8192; ./tsan_test)
- CC=$(CLANG) CXX=$(CLANG)++ FILECHECK=$(FILECHECK) ./lit_tests/test_output.sh
+ CC=$(CLANG) CXX=$(CLANG)++ FILECHECK=$(FILECHECK) $(LIT_TESTS_PATH)/test_output.sh
presubmit:
../sanitizer_common/scripts/check_lint.sh
diff --git a/lib/tsan/check_memcpy.sh b/lib/tsan/check_memcpy.sh
index 5d15c6384..fe3e49ee3 100755
--- a/lib/tsan/check_memcpy.sh
+++ b/lib/tsan/check_memcpy.sh
@@ -5,12 +5,13 @@
set -eu
ROOTDIR=$(dirname $0)
+TEST_DIR=$ROOTDIR/../../test/tsan
: ${CXX:=clang++}
CFLAGS="-fsanitize=thread -fPIE -O1 -g"
LDFLAGS="-pie -lpthread -ldl -lrt -lm -Wl,--whole-archive $ROOTDIR/rtl/libtsan.a -Wl,--no-whole-archive"
-SRC=$ROOTDIR/lit_tests/simple_race.cc
+SRC=$TEST_DIR/simple_race.cc
OBJ=$SRC.o
EXE=$SRC.exe
$CXX $SRC $CFLAGS -c -o $OBJ
diff --git a/lib/tsan/lit_tests/CMakeLists.txt b/lib/tsan/lit_tests/CMakeLists.txt
deleted file mode 100644
index 1f2fbf98e..000000000
--- a/lib/tsan/lit_tests/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-configure_lit_site_cfg(
- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
- ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
- )
-
-configure_lit_site_cfg(
- ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
- ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
- )
-
-if(COMPILER_RT_CAN_EXECUTE_TESTS AND CAN_TARGET_x86_64)
- # Run TSan output tests only if we're sure we can produce working binaries.
- set(TSAN_TEST_DEPS
- ${SANITIZER_COMMON_LIT_TEST_DEPS}
- ${TSAN_RUNTIME_LIBRARIES})
- set(TSAN_TEST_PARAMS
- tsan_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
- )
- if(LLVM_INCLUDE_TESTS)
- list(APPEND TSAN_TEST_DEPS TsanUnitTests)
- endif()
- add_lit_testsuite(check-tsan "Running ThreadSanitizer tests"
- ${CMAKE_CURRENT_BINARY_DIR}
- PARAMS ${TSAN_TEST_PARAMS}
- DEPENDS ${TSAN_TEST_DEPS}
- )
- set_target_properties(check-tsan PROPERTIES FOLDER "TSan unittests")
-elseif(LLVM_INCLUDE_TESTS AND CAN_TARGET_x86_64)
- # Otherwise run only TSan unit tests (they are linked using the
- # host compiler).
- add_lit_testsuite(check-tsan "Running ThreadSanitizer tests"
- ${CMAKE_CURRENT_BINARY_DIR}/Unit
- DEPENDS TsanUnitTests llvm-symbolizer)
- set_target_properties(check-tsan PROPERTIES FOLDER "TSan unittests")
-endif()
diff --git a/lib/tsan/lit_tests/Unit/lit.cfg b/lib/tsan/lit_tests/Unit/lit.cfg
deleted file mode 100644
index 36585df1c..000000000
--- a/lib/tsan/lit_tests/Unit/lit.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- Python -*-
-
-import os
-
-def get_required_attr(config, attr_name):
- attr_value = getattr(config, attr_name, None)
- if not attr_value:
- lit_config.fatal(
- "No attribute %r in test configuration! You may need to run "
- "tests from your build directory or add this attribute "
- "to lit.site.cfg " % attr_name)
- return attr_value
-
-# Setup config name.
-config.name = 'ThreadSanitizer-Unit'
-
-# Setup test source and exec root. For unit tests, we define
-# it as build directory with TSan unit tests.
-llvm_obj_root = get_required_attr(config, "llvm_obj_root")
-config.test_exec_root = os.path.join(llvm_obj_root, "projects",
- "compiler-rt", "lib",
- "tsan", "tests")
-config.test_source_root = config.test_exec_root
diff --git a/lib/tsan/lit_tests/Unit/lit.site.cfg.in b/lib/tsan/lit_tests/Unit/lit.site.cfg.in
deleted file mode 100644
index 5d7242d11..000000000
--- a/lib/tsan/lit_tests/Unit/lit.site.cfg.in
+++ /dev/null
@@ -1,8 +0,0 @@
-## Autogenerated by LLVM/Clang configuration.
-# Do not edit!
-
-# Load common config for all compiler-rt unit tests.
-lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/unittests/lit.common.unit.configured")
-
-# Load tool-specific config that would do the real work.
-lit_config.load_config(config, "@CMAKE_CURRENT_SOURCE_DIR@/Unit/lit.cfg")
diff --git a/lib/tsan/tests/CMakeLists.txt b/lib/tsan/tests/CMakeLists.txt
index f73a89242..d42182416 100644
--- a/lib/tsan/tests/CMakeLists.txt
+++ b/lib/tsan/tests/CMakeLists.txt
@@ -18,7 +18,7 @@ macro(tsan_compile obj_list source arch)
get_target_flags_for_arch(${arch} TARGET_CFLAGS)
clang_compile(${output_obj} ${source}
CFLAGS ${TSAN_UNITTEST_CFLAGS} ${TARGET_CFLAGS}
- DEPS gtest ${TSAN_RUNTIME_LIBRARIES} ${ARGN})
+ DEPS gtest tsan ${ARGN})
list(APPEND ${obj_list} ${output_obj})
endmacro()
@@ -33,7 +33,7 @@ macro(add_tsan_unittest testname)
get_target_flags_for_arch(${arch} TARGET_LINK_FLAGS)
add_compiler_rt_test(TsanUnitTests ${testname}
OBJECTS ${TEST_OBJECTS}
- DEPS ${TSAN_RUNTIME_LIBRARIES} ${TEST_OBJECTS}
+ DEPS tsan ${TEST_OBJECTS}
LINK_FLAGS ${TARGET_LINK_FLAGS}
-fsanitize=thread
-lstdc++ -lm)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 590c2d38d..72f8aab30 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -21,6 +21,9 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS)
if(MSAN_SUPPORTED_ARCH)
add_subdirectory(msan)
endif()
+ if(TSAN_SUPPORTED_ARCH)
+ add_subdirectory(tsan)
+ endif()
if(UBSAN_SUPPORTED_ARCH)
add_subdirectory(ubsan)
endif()
diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt
new file mode 100644
index 000000000..8d79c705d
--- /dev/null
+++ b/test/tsan/CMakeLists.txt
@@ -0,0 +1,19 @@
+configure_lit_site_cfg(
+ ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
+ ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
+
+set(TSAN_TEST_DEPS
+ ${SANITIZER_COMMON_LIT_TEST_DEPS}
+ tsan)
+
+if(LLVM_INCLUDE_TESTS)
+ configure_lit_site_cfg(
+ ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
+ ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg)
+ list(APPEND TSAN_TEST_DEPS TsanUnitTests)
+endif()
+
+add_lit_testsuite(check-tsan "Running ThreadSanitizer tests"
+ ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS ${TSAN_TEST_DEPS})
+set_target_properties(check-tsan PROPERTIES FOLDER "TSan tests")
diff --git a/lib/tsan/lit_tests/Helpers/blacklist.txt b/test/tsan/Helpers/blacklist.txt
index 22225e542..22225e542 100644
--- a/lib/tsan/lit_tests/Helpers/blacklist.txt
+++ b/test/tsan/Helpers/blacklist.txt
diff --git a/lib/tsan/lit_tests/Helpers/lit.local.cfg b/test/tsan/Helpers/lit.local.cfg
index 9246b1035..9246b1035 100644
--- a/lib/tsan/lit_tests/Helpers/lit.local.cfg
+++ b/test/tsan/Helpers/lit.local.cfg
diff --git a/lib/tsan/lit_tests/SharedLibs/lit.local.cfg b/test/tsan/SharedLibs/lit.local.cfg
index b3677c17a..b3677c17a 100644
--- a/lib/tsan/lit_tests/SharedLibs/lit.local.cfg
+++ b/test/tsan/SharedLibs/lit.local.cfg
diff --git a/lib/tsan/lit_tests/SharedLibs/load_shared_lib-so.cc b/test/tsan/SharedLibs/load_shared_lib-so.cc
index d05aa6a40..d05aa6a40 100644
--- a/lib/tsan/lit_tests/SharedLibs/load_shared_lib-so.cc
+++ b/test/tsan/SharedLibs/load_shared_lib-so.cc
diff --git a/test/tsan/Unit/lit.site.cfg.in b/test/tsan/Unit/lit.site.cfg.in
new file mode 100644
index 000000000..949810565
--- /dev/null
+++ b/test/tsan/Unit/lit.site.cfg.in
@@ -0,0 +1,14 @@
+## Autogenerated by LLVM/Clang configuration.
+# Do not edit!
+
+# Load common config for all compiler-rt unit tests.
+lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/unittests/lit.common.unit.configured")
+
+# Setup config name.
+config.name = 'ThreadSanitizer-Unit'
+
+# Setup test source and exec root. For unit tests, we define
+# it as build directory with ASan unit tests.
+# FIXME: De-hardcode this path.
+config.test_exec_root = "@COMPILER_RT_BINARY_DIR@/lib/tsan/tests"
+config.test_source_root = config.test_exec_root
diff --git a/lib/tsan/lit_tests/aligned_vs_unaligned_race.cc b/test/tsan/aligned_vs_unaligned_race.cc
index f4533d083..f4533d083 100644
--- a/lib/tsan/lit_tests/aligned_vs_unaligned_race.cc
+++ b/test/tsan/aligned_vs_unaligned_race.cc
diff --git a/lib/tsan/lit_tests/allocator_returns_null.cc b/test/tsan/allocator_returns_null.cc
index 4b5eb5504..4b5eb5504 100644
--- a/lib/tsan/lit_tests/allocator_returns_null.cc
+++ b/test/tsan/allocator_returns_null.cc
diff --git a/lib/tsan/lit_tests/atomic_free.cc b/test/tsan/atomic_free.cc
index 87d559362..87d559362 100644
--- a/lib/tsan/lit_tests/atomic_free.cc
+++ b/test/tsan/atomic_free.cc
diff --git a/lib/tsan/lit_tests/atomic_free2.cc b/test/tsan/atomic_free2.cc
index 961ff38c8..961ff38c8 100644
--- a/lib/tsan/lit_tests/atomic_free2.cc
+++ b/test/tsan/atomic_free2.cc
diff --git a/lib/tsan/lit_tests/atomic_norace.cc b/test/tsan/atomic_norace.cc
index 265459b07..265459b07 100644
--- a/lib/tsan/lit_tests/atomic_norace.cc
+++ b/test/tsan/atomic_norace.cc
diff --git a/lib/tsan/lit_tests/atomic_race.cc b/test/tsan/atomic_race.cc
index 0dfe4d93d..0dfe4d93d 100644
--- a/lib/tsan/lit_tests/atomic_race.cc
+++ b/test/tsan/atomic_race.cc
diff --git a/lib/tsan/lit_tests/atomic_stack.cc b/test/tsan/atomic_stack.cc
index 841f74b89..841f74b89 100644
--- a/lib/tsan/lit_tests/atomic_stack.cc
+++ b/test/tsan/atomic_stack.cc
diff --git a/lib/tsan/lit_tests/benign_race.cc b/test/tsan/benign_race.cc
index a4d4d23c3..a4d4d23c3 100644
--- a/lib/tsan/lit_tests/benign_race.cc
+++ b/test/tsan/benign_race.cc
diff --git a/lib/tsan/lit_tests/blacklist.cc b/test/tsan/blacklist.cc
index 5baf926e6..5baf926e6 100644
--- a/lib/tsan/lit_tests/blacklist.cc
+++ b/test/tsan/blacklist.cc
diff --git a/lib/tsan/lit_tests/cond.c b/test/tsan/cond.c
index 52c87a413..52c87a413 100644
--- a/lib/tsan/lit_tests/cond.c
+++ b/test/tsan/cond.c
diff --git a/lib/tsan/lit_tests/cond_race.cc b/test/tsan/cond_race.cc
index 1e2acb243..1e2acb243 100644
--- a/lib/tsan/lit_tests/cond_race.cc
+++ b/test/tsan/cond_race.cc
diff --git a/lib/tsan/lit_tests/cond_version.c b/test/tsan/cond_version.c
index 1f966bfac..1f966bfac 100644
--- a/lib/tsan/lit_tests/cond_version.c
+++ b/test/tsan/cond_version.c
diff --git a/lib/tsan/lit_tests/deep_stack1.cc b/test/tsan/deep_stack1.cc
index 3048aa874..3048aa874 100644
--- a/lib/tsan/lit_tests/deep_stack1.cc
+++ b/test/tsan/deep_stack1.cc
diff --git a/lib/tsan/lit_tests/default_options.cc b/test/tsan/default_options.cc
index 62c6c028f..62c6c028f 100644
--- a/lib/tsan/lit_tests/default_options.cc
+++ b/test/tsan/default_options.cc
diff --git a/lib/tsan/lit_tests/fd_close_norace.cc b/test/tsan/fd_close_norace.cc
index a8b1a6d7b..a8b1a6d7b 100644
--- a/lib/tsan/lit_tests/fd_close_norace.cc
+++ b/test/tsan/fd_close_norace.cc
diff --git a/lib/tsan/lit_tests/fd_close_norace2.cc b/test/tsan/fd_close_norace2.cc
index b42b334a2..b42b334a2 100644
--- a/lib/tsan/lit_tests/fd_close_norace2.cc
+++ b/test/tsan/fd_close_norace2.cc
diff --git a/lib/tsan/lit_tests/fd_dup_norace.cc b/test/tsan/fd_dup_norace.cc
index 8826f90fc..8826f90fc 100644
--- a/lib/tsan/lit_tests/fd_dup_norace.cc
+++ b/test/tsan/fd_dup_norace.cc
diff --git a/lib/tsan/lit_tests/fd_location.cc b/test/tsan/fd_location.cc
index 2b1e9c56e..2b1e9c56e 100644
--- a/lib/tsan/lit_tests/fd_location.cc
+++ b/test/tsan/fd_location.cc
diff --git a/lib/tsan/lit_tests/fd_pipe_norace.cc b/test/tsan/fd_pipe_norace.cc
index 2da69ea21..2da69ea21 100644
--- a/lib/tsan/lit_tests/fd_pipe_norace.cc
+++ b/test/tsan/fd_pipe_norace.cc
diff --git a/lib/tsan/lit_tests/fd_pipe_race.cc b/test/tsan/fd_pipe_race.cc
index 4dd2b7786..4dd2b7786 100644
--- a/lib/tsan/lit_tests/fd_pipe_race.cc
+++ b/test/tsan/fd_pipe_race.cc
diff --git a/lib/tsan/lit_tests/fd_socket_connect_norace.cc b/test/tsan/fd_socket_connect_norace.cc
index 065299a9c..065299a9c 100644
--- a/lib/tsan/lit_tests/fd_socket_connect_norace.cc
+++ b/test/tsan/fd_socket_connect_norace.cc
diff --git a/lib/tsan/lit_tests/fd_socket_norace.cc b/test/tsan/fd_socket_norace.cc
index 243fc9de2..243fc9de2 100644
--- a/lib/tsan/lit_tests/fd_socket_norace.cc
+++ b/test/tsan/fd_socket_norace.cc
diff --git a/lib/tsan/lit_tests/fd_socketpair_norace.cc b/test/tsan/fd_socketpair_norace.cc
index f91e4eca0..f91e4eca0 100644
--- a/lib/tsan/lit_tests/fd_socketpair_norace.cc
+++ b/test/tsan/fd_socketpair_norace.cc
diff --git a/lib/tsan/lit_tests/fd_stdout_race.cc b/test/tsan/fd_stdout_race.cc
index 4b512bb78..4b512bb78 100644
--- a/lib/tsan/lit_tests/fd_stdout_race.cc
+++ b/test/tsan/fd_stdout_race.cc
diff --git a/lib/tsan/lit_tests/fork_deadlock.cc b/test/tsan/fork_deadlock.cc
index 09500b5be..09500b5be 100644
--- a/lib/tsan/lit_tests/fork_deadlock.cc
+++ b/test/tsan/fork_deadlock.cc
diff --git a/lib/tsan/lit_tests/fork_multithreaded.cc b/test/tsan/fork_multithreaded.cc
index 474b53e42..474b53e42 100644
--- a/lib/tsan/lit_tests/fork_multithreaded.cc
+++ b/test/tsan/fork_multithreaded.cc
diff --git a/lib/tsan/lit_tests/fork_multithreaded3.cc b/test/tsan/fork_multithreaded3.cc
index c4ebcce1a..c4ebcce1a 100644
--- a/lib/tsan/lit_tests/fork_multithreaded3.cc
+++ b/test/tsan/fork_multithreaded3.cc
diff --git a/lib/tsan/lit_tests/free_race.c b/test/tsan/free_race.c
index d1db9fece..d1db9fece 100644
--- a/lib/tsan/lit_tests/free_race.c
+++ b/test/tsan/free_race.c
diff --git a/lib/tsan/lit_tests/free_race.c.supp b/test/tsan/free_race.c.supp
index f5d6a4969..f5d6a4969 100644
--- a/lib/tsan/lit_tests/free_race.c.supp
+++ b/test/tsan/free_race.c.supp
diff --git a/lib/tsan/lit_tests/free_race2.c b/test/tsan/free_race2.c
index 2b9a41927..2b9a41927 100644
--- a/lib/tsan/lit_tests/free_race2.c
+++ b/test/tsan/free_race2.c
diff --git a/lib/tsan/lit_tests/getline_nohang.cc b/test/tsan/getline_nohang.cc
index 1dd17f064..1dd17f064 100644
--- a/lib/tsan/lit_tests/getline_nohang.cc
+++ b/test/tsan/getline_nohang.cc
diff --git a/lib/tsan/lit_tests/global_race.cc b/test/tsan/global_race.cc
index 0e3ce2e50..0e3ce2e50 100644
--- a/lib/tsan/lit_tests/global_race.cc
+++ b/test/tsan/global_race.cc
diff --git a/lib/tsan/lit_tests/halt_on_error.cc b/test/tsan/halt_on_error.cc
index fddaffff2..fddaffff2 100644
--- a/lib/tsan/lit_tests/halt_on_error.cc
+++ b/test/tsan/halt_on_error.cc
diff --git a/lib/tsan/lit_tests/heap_race.cc b/test/tsan/heap_race.cc
index cc2c1fee5..cc2c1fee5 100644
--- a/lib/tsan/lit_tests/heap_race.cc
+++ b/test/tsan/heap_race.cc
diff --git a/lib/tsan/lit_tests/ignore_free.cc b/test/tsan/ignore_free.cc
index 60369cc1b..60369cc1b 100644
--- a/lib/tsan/lit_tests/ignore_free.cc
+++ b/test/tsan/ignore_free.cc
diff --git a/lib/tsan/lit_tests/ignore_lib0.cc b/test/tsan/ignore_lib0.cc
index ea0f061e6..ea0f061e6 100644
--- a/lib/tsan/lit_tests/ignore_lib0.cc
+++ b/test/tsan/ignore_lib0.cc
diff --git a/lib/tsan/lit_tests/ignore_lib0.cc.supp b/test/tsan/ignore_lib0.cc.supp
index 7728c926b..7728c926b 100644
--- a/lib/tsan/lit_tests/ignore_lib0.cc.supp
+++ b/test/tsan/ignore_lib0.cc.supp
diff --git a/lib/tsan/lit_tests/ignore_lib1.cc b/test/tsan/ignore_lib1.cc
index c4f2e7344..c4f2e7344 100644
--- a/lib/tsan/lit_tests/ignore_lib1.cc
+++ b/test/tsan/ignore_lib1.cc
diff --git a/lib/tsan/lit_tests/ignore_lib1.cc.supp b/test/tsan/ignore_lib1.cc.supp
index 9f4119ec0..9f4119ec0 100644
--- a/lib/tsan/lit_tests/ignore_lib1.cc.supp
+++ b/test/tsan/ignore_lib1.cc.supp
diff --git a/lib/tsan/lit_tests/ignore_lib2.cc b/test/tsan/ignore_lib2.cc
index 97f9419e4..97f9419e4 100644
--- a/lib/tsan/lit_tests/ignore_lib2.cc
+++ b/test/tsan/ignore_lib2.cc
diff --git a/lib/tsan/lit_tests/ignore_lib2.cc.supp b/test/tsan/ignore_lib2.cc.supp
index 1419c71c6..1419c71c6 100644
--- a/lib/tsan/lit_tests/ignore_lib2.cc.supp
+++ b/test/tsan/ignore_lib2.cc.supp
diff --git a/lib/tsan/lit_tests/ignore_lib3.cc b/test/tsan/ignore_lib3.cc
index 8f237fcc8..8f237fcc8 100644
--- a/lib/tsan/lit_tests/ignore_lib3.cc
+++ b/test/tsan/ignore_lib3.cc
diff --git a/lib/tsan/lit_tests/ignore_lib3.cc.supp b/test/tsan/ignore_lib3.cc.supp
index 975dbcef9..975dbcef9 100644
--- a/lib/tsan/lit_tests/ignore_lib3.cc.supp
+++ b/test/tsan/ignore_lib3.cc.supp
diff --git a/lib/tsan/lit_tests/ignore_lib_lib.h b/test/tsan/ignore_lib_lib.h
index 2bfe84dfc..2bfe84dfc 100644
--- a/lib/tsan/lit_tests/ignore_lib_lib.h
+++ b/test/tsan/ignore_lib_lib.h
diff --git a/lib/tsan/lit_tests/ignore_malloc.cc b/test/tsan/ignore_malloc.cc
index 63bd4241b..63bd4241b 100644
--- a/lib/tsan/lit_tests/ignore_malloc.cc
+++ b/test/tsan/ignore_malloc.cc
diff --git a/lib/tsan/lit_tests/ignore_race.cc b/test/tsan/ignore_race.cc
index 23d74d0ed..23d74d0ed 100644
--- a/lib/tsan/lit_tests/ignore_race.cc
+++ b/test/tsan/ignore_race.cc
diff --git a/lib/tsan/lit_tests/ignore_sync.cc b/test/tsan/ignore_sync.cc
index 67f2d906d..67f2d906d 100644
--- a/lib/tsan/lit_tests/ignore_sync.cc
+++ b/test/tsan/ignore_sync.cc
diff --git a/lib/tsan/lit_tests/inlined_memcpy_race.cc b/test/tsan/inlined_memcpy_race.cc
index 5dda36e4b..5dda36e4b 100644
--- a/lib/tsan/lit_tests/inlined_memcpy_race.cc
+++ b/test/tsan/inlined_memcpy_race.cc
diff --git a/lib/tsan/lit_tests/interface_atomic_test.c b/test/tsan/interface_atomic_test.c
index 7f274a0d1..7f274a0d1 100644
--- a/lib/tsan/lit_tests/interface_atomic_test.c
+++ b/test/tsan/interface_atomic_test.c
diff --git a/lib/tsan/lit_tests/java.h b/test/tsan/java.h
index 7aa0bca32..7aa0bca32 100644
--- a/lib/tsan/lit_tests/java.h
+++ b/test/tsan/java.h
diff --git a/lib/tsan/lit_tests/java_alloc.cc b/test/tsan/java_alloc.cc
index 4dbce70c3..4dbce70c3 100644
--- a/lib/tsan/lit_tests/java_alloc.cc
+++ b/test/tsan/java_alloc.cc
diff --git a/lib/tsan/lit_tests/java_lock.cc b/test/tsan/java_lock.cc
index d9db10350..d9db10350 100644
--- a/lib/tsan/lit_tests/java_lock.cc
+++ b/test/tsan/java_lock.cc
diff --git a/lib/tsan/lit_tests/java_lock_move.cc b/test/tsan/java_lock_move.cc
index 48b5a5a88..48b5a5a88 100644
--- a/lib/tsan/lit_tests/java_lock_move.cc
+++ b/test/tsan/java_lock_move.cc
diff --git a/lib/tsan/lit_tests/java_lock_rec.cc b/test/tsan/java_lock_rec.cc
index 5cc80d4a3..5cc80d4a3 100644
--- a/lib/tsan/lit_tests/java_lock_rec.cc
+++ b/test/tsan/java_lock_rec.cc
diff --git a/lib/tsan/lit_tests/java_lock_rec_race.cc b/test/tsan/java_lock_rec_race.cc
index a868e260c..a868e260c 100644
--- a/lib/tsan/lit_tests/java_lock_rec_race.cc
+++ b/test/tsan/java_lock_rec_race.cc
diff --git a/lib/tsan/lit_tests/java_race.cc b/test/tsan/java_race.cc
index 4841a7db0..4841a7db0 100644
--- a/lib/tsan/lit_tests/java_race.cc
+++ b/test/tsan/java_race.cc
diff --git a/lib/tsan/lit_tests/java_race_move.cc b/test/tsan/java_race_move.cc
index 6da8a1064..6da8a1064 100644
--- a/lib/tsan/lit_tests/java_race_move.cc
+++ b/test/tsan/java_race_move.cc
diff --git a/lib/tsan/lit_tests/java_rwlock.cc b/test/tsan/java_rwlock.cc
index d1f38733b..d1f38733b 100644
--- a/lib/tsan/lit_tests/java_rwlock.cc
+++ b/test/tsan/java_rwlock.cc
diff --git a/lib/tsan/lit_tests/lit.cfg b/test/tsan/lit.cfg
index c4193639f..b437dafa4 100644
--- a/lib/tsan/lit_tests/lit.cfg
+++ b/test/tsan/lit.cfg
@@ -2,8 +2,6 @@
import os
-import lit.util
-
def get_required_attr(config, attr_name):
attr_value = getattr(config, attr_name, None)
if not attr_value:
@@ -19,38 +17,6 @@ config.name = 'ThreadSanitizer'
# Setup source root.
config.test_source_root = os.path.dirname(__file__)
-def DisplayNoConfigMessage():
- lit_config.fatal("No site specific configuration available! " +
- "Try running your test from the build tree or running " +
- "make check-tsan")
-
-# Figure out LLVM source root.
-llvm_src_root = getattr(config, 'llvm_src_root', None)
-if llvm_src_root is None:
- # We probably haven't loaded the site-specific configuration: the user
- # is likely trying to run a test file directly, and the site configuration
- # wasn't created by the build system.
- tsan_site_cfg = lit_config.params.get('tsan_site_config', None)
- if (tsan_site_cfg) and (os.path.exists(tsan_site_cfg)):
- lit_config.load_config(config, tsan_site_cfg)
- raise SystemExit
-
- # Try to guess the location of site-specific configuration using llvm-config
- # util that can point where the build tree is.
- llvm_config = lit.util.which("llvm-config", config.environment["PATH"])
- if not llvm_config:
- DisplayNoConfigMessage()
-
- # Find out the presumed location of generated site config.
- llvm_obj_root = lit.util.capture(["llvm-config", "--obj-root"]).strip()
- tsan_site_cfg = os.path.join(llvm_obj_root, "projects", "compiler-rt",
- "lib", "tsan", "lit_tests", "lit.site.cfg")
- if (not tsan_site_cfg) or (not os.path.exists(tsan_site_cfg)):
- DisplayNoConfigMessage()
-
- lit_config.load_config(config, tsan_site_cfg)
- raise SystemExit
-
# Setup environment variables for running ThreadSanitizer.
tsan_options = "atexit_sleep_ms=0"
diff --git a/lib/tsan/lit_tests/lit.site.cfg.in b/test/tsan/lit.site.cfg.in
index aebdd5ebc..aebdd5ebc 100644
--- a/lib/tsan/lit_tests/lit.site.cfg.in
+++ b/test/tsan/lit.site.cfg.in
diff --git a/lib/tsan/lit_tests/load_shared_lib.cc b/test/tsan/load_shared_lib.cc
index d60cd5700..d60cd5700 100644
--- a/lib/tsan/lit_tests/load_shared_lib.cc
+++ b/test/tsan/load_shared_lib.cc
diff --git a/lib/tsan/lit_tests/longjmp.cc b/test/tsan/longjmp.cc
index d9ca4ca5e..d9ca4ca5e 100644
--- a/lib/tsan/lit_tests/longjmp.cc
+++ b/test/tsan/longjmp.cc
diff --git a/lib/tsan/lit_tests/longjmp2.cc b/test/tsan/longjmp2.cc
index 0d551fa19..0d551fa19 100644
--- a/lib/tsan/lit_tests/longjmp2.cc
+++ b/test/tsan/longjmp2.cc
diff --git a/lib/tsan/lit_tests/longjmp3.cc b/test/tsan/longjmp3.cc
index ae2cfd05f..ae2cfd05f 100644
--- a/lib/tsan/lit_tests/longjmp3.cc
+++ b/test/tsan/longjmp3.cc
diff --git a/lib/tsan/lit_tests/longjmp4.cc b/test/tsan/longjmp4.cc
index 6b0526ef3..6b0526ef3 100644
--- a/lib/tsan/lit_tests/longjmp4.cc
+++ b/test/tsan/longjmp4.cc
diff --git a/lib/tsan/lit_tests/malloc_hook.cc b/test/tsan/malloc_hook.cc
index 82eb6900e..82eb6900e 100644
--- a/lib/tsan/lit_tests/malloc_hook.cc
+++ b/test/tsan/malloc_hook.cc
diff --git a/lib/tsan/lit_tests/malloc_overflow.cc b/test/tsan/malloc_overflow.cc
index afbebc8be..afbebc8be 100644
--- a/lib/tsan/lit_tests/malloc_overflow.cc
+++ b/test/tsan/malloc_overflow.cc
diff --git a/lib/tsan/lit_tests/malloc_stack.cc b/test/tsan/malloc_stack.cc
index 3603497ef..3603497ef 100644
--- a/lib/tsan/lit_tests/malloc_stack.cc
+++ b/test/tsan/malloc_stack.cc
diff --git a/lib/tsan/lit_tests/memcpy_race.cc b/test/tsan/memcpy_race.cc
index 8f3911367..8f3911367 100644
--- a/lib/tsan/lit_tests/memcpy_race.cc
+++ b/test/tsan/memcpy_race.cc
diff --git a/lib/tsan/lit_tests/mop_with_offset.cc b/test/tsan/mop_with_offset.cc
index 2b6a4ff50..2b6a4ff50 100644
--- a/lib/tsan/lit_tests/mop_with_offset.cc
+++ b/test/tsan/mop_with_offset.cc
diff --git a/lib/tsan/lit_tests/mop_with_offset2.cc b/test/tsan/mop_with_offset2.cc
index 037c4db5f..037c4db5f 100644
--- a/lib/tsan/lit_tests/mop_with_offset2.cc
+++ b/test/tsan/mop_with_offset2.cc
diff --git a/lib/tsan/lit_tests/mutex_cycle2.c b/test/tsan/mutex_cycle2.c
index cd1006d47..cd1006d47 100644
--- a/lib/tsan/lit_tests/mutex_cycle2.c
+++ b/test/tsan/mutex_cycle2.c
diff --git a/lib/tsan/lit_tests/mutex_destroy_locked.cc b/test/tsan/mutex_destroy_locked.cc
index 9b020d31b..9b020d31b 100644
--- a/lib/tsan/lit_tests/mutex_destroy_locked.cc
+++ b/test/tsan/mutex_destroy_locked.cc
diff --git a/lib/tsan/lit_tests/mutex_robust.cc b/test/tsan/mutex_robust.cc
index b82661607..b82661607 100644
--- a/lib/tsan/lit_tests/mutex_robust.cc
+++ b/test/tsan/mutex_robust.cc
diff --git a/lib/tsan/lit_tests/mutex_robust2.cc b/test/tsan/mutex_robust2.cc
index 5bd7ff682..5bd7ff682 100644
--- a/lib/tsan/lit_tests/mutex_robust2.cc
+++ b/test/tsan/mutex_robust2.cc
diff --git a/lib/tsan/lit_tests/mutexset1.cc b/test/tsan/mutexset1.cc
index ca87a7ba0..ca87a7ba0 100644
--- a/lib/tsan/lit_tests/mutexset1.cc
+++ b/test/tsan/mutexset1.cc
diff --git a/lib/tsan/lit_tests/mutexset2.cc b/test/tsan/mutexset2.cc
index 9ccf952b0..9ccf952b0 100644
--- a/lib/tsan/lit_tests/mutexset2.cc
+++ b/test/tsan/mutexset2.cc
diff --git a/lib/tsan/lit_tests/mutexset3.cc b/test/tsan/mutexset3.cc
index 272ddafb3..272ddafb3 100644
--- a/lib/tsan/lit_tests/mutexset3.cc
+++ b/test/tsan/mutexset3.cc
diff --git a/lib/tsan/lit_tests/mutexset4.cc b/test/tsan/mutexset4.cc
index be751fa92..be751fa92 100644
--- a/lib/tsan/lit_tests/mutexset4.cc
+++ b/test/tsan/mutexset4.cc
diff --git a/lib/tsan/lit_tests/mutexset5.cc b/test/tsan/mutexset5.cc
index e013edb46..e013edb46 100644
--- a/lib/tsan/lit_tests/mutexset5.cc
+++ b/test/tsan/mutexset5.cc
diff --git a/lib/tsan/lit_tests/mutexset6.cc b/test/tsan/mutexset6.cc
index f5e6e66be..f5e6e66be 100644
--- a/lib/tsan/lit_tests/mutexset6.cc
+++ b/test/tsan/mutexset6.cc
diff --git a/lib/tsan/lit_tests/mutexset7.cc b/test/tsan/mutexset7.cc
index 51451b215..51451b215 100644
--- a/lib/tsan/lit_tests/mutexset7.cc
+++ b/test/tsan/mutexset7.cc
diff --git a/lib/tsan/lit_tests/mutexset8.cc b/test/tsan/mutexset8.cc
index 8822b050e..8822b050e 100644
--- a/lib/tsan/lit_tests/mutexset8.cc
+++ b/test/tsan/mutexset8.cc
diff --git a/lib/tsan/lit_tests/oob_race.cc b/test/tsan/oob_race.cc
index c84e819cb..c84e819cb 100644
--- a/lib/tsan/lit_tests/oob_race.cc
+++ b/test/tsan/oob_race.cc
diff --git a/lib/tsan/lit_tests/printf-1.c b/test/tsan/printf-1.c
index a76048e85..a76048e85 100644
--- a/lib/tsan/lit_tests/printf-1.c
+++ b/test/tsan/printf-1.c
diff --git a/lib/tsan/lit_tests/race_on_barrier.c b/test/tsan/race_on_barrier.c
index 3c0199dec..3c0199dec 100644
--- a/lib/tsan/lit_tests/race_on_barrier.c
+++ b/test/tsan/race_on_barrier.c
diff --git a/lib/tsan/lit_tests/race_on_barrier2.c b/test/tsan/race_on_barrier2.c
index 62773d43e..62773d43e 100644
--- a/lib/tsan/lit_tests/race_on_barrier2.c
+++ b/test/tsan/race_on_barrier2.c
diff --git a/lib/tsan/lit_tests/race_on_heap.cc b/test/tsan/race_on_heap.cc
index a84c0de96..a84c0de96 100644
--- a/lib/tsan/lit_tests/race_on_heap.cc
+++ b/test/tsan/race_on_heap.cc
diff --git a/lib/tsan/lit_tests/race_on_mutex.c b/test/tsan/race_on_mutex.c
index e66341414..e66341414 100644
--- a/lib/tsan/lit_tests/race_on_mutex.c
+++ b/test/tsan/race_on_mutex.c
diff --git a/lib/tsan/lit_tests/race_on_mutex2.c b/test/tsan/race_on_mutex2.c
index 80c395e1f..80c395e1f 100644
--- a/lib/tsan/lit_tests/race_on_mutex2.c
+++ b/test/tsan/race_on_mutex2.c
diff --git a/lib/tsan/lit_tests/race_on_read.cc b/test/tsan/race_on_read.cc
index e870ff9e8..e870ff9e8 100644
--- a/lib/tsan/lit_tests/race_on_read.cc
+++ b/test/tsan/race_on_read.cc
diff --git a/lib/tsan/lit_tests/race_on_speculative_load.cc b/test/tsan/race_on_speculative_load.cc
index 31f0e4f2a..31f0e4f2a 100644
--- a/lib/tsan/lit_tests/race_on_speculative_load.cc
+++ b/test/tsan/race_on_speculative_load.cc
diff --git a/lib/tsan/lit_tests/race_on_write.cc b/test/tsan/race_on_write.cc
index 8a56c8464..8a56c8464 100644
--- a/lib/tsan/lit_tests/race_on_write.cc
+++ b/test/tsan/race_on_write.cc
diff --git a/lib/tsan/lit_tests/race_with_finished_thread.cc b/test/tsan/race_with_finished_thread.cc
index c713c67a3..c713c67a3 100644
--- a/lib/tsan/lit_tests/race_with_finished_thread.cc
+++ b/test/tsan/race_with_finished_thread.cc
diff --git a/lib/tsan/lit_tests/signal_errno.cc b/test/tsan/signal_errno.cc
index 651f916ac..651f916ac 100644
--- a/lib/tsan/lit_tests/signal_errno.cc
+++ b/test/tsan/signal_errno.cc
diff --git a/lib/tsan/lit_tests/signal_malloc.cc b/test/tsan/signal_malloc.cc
index ef180b8a2..ef180b8a2 100644
--- a/lib/tsan/lit_tests/signal_malloc.cc
+++ b/test/tsan/signal_malloc.cc
diff --git a/lib/tsan/lit_tests/sigsuspend.cc b/test/tsan/sigsuspend.cc
index 503bd5629..503bd5629 100644
--- a/lib/tsan/lit_tests/sigsuspend.cc
+++ b/test/tsan/sigsuspend.cc
diff --git a/lib/tsan/lit_tests/simple_race.c b/test/tsan/simple_race.c
index 80a83e01a..80a83e01a 100644
--- a/lib/tsan/lit_tests/simple_race.c
+++ b/test/tsan/simple_race.c
diff --git a/lib/tsan/lit_tests/simple_race.cc b/test/tsan/simple_race.cc
index 47854cfd9..47854cfd9 100644
--- a/lib/tsan/lit_tests/simple_race.cc
+++ b/test/tsan/simple_race.cc
diff --git a/lib/tsan/lit_tests/simple_stack.c b/test/tsan/simple_stack.c
index a447e2880..a447e2880 100644
--- a/lib/tsan/lit_tests/simple_stack.c
+++ b/test/tsan/simple_stack.c
diff --git a/lib/tsan/lit_tests/simple_stack2.cc b/test/tsan/simple_stack2.cc
index 7a034c4cd..7a034c4cd 100644
--- a/lib/tsan/lit_tests/simple_stack2.cc
+++ b/test/tsan/simple_stack2.cc
diff --git a/lib/tsan/lit_tests/sleep_sync.cc b/test/tsan/sleep_sync.cc
index 217a52a09..217a52a09 100644
--- a/lib/tsan/lit_tests/sleep_sync.cc
+++ b/test/tsan/sleep_sync.cc
diff --git a/lib/tsan/lit_tests/sleep_sync2.cc b/test/tsan/sleep_sync2.cc
index e22999279..e22999279 100644
--- a/lib/tsan/lit_tests/sleep_sync2.cc
+++ b/test/tsan/sleep_sync2.cc
diff --git a/lib/tsan/lit_tests/stack_race.cc b/test/tsan/stack_race.cc
index 01ff2e839..01ff2e839 100644
--- a/lib/tsan/lit_tests/stack_race.cc
+++ b/test/tsan/stack_race.cc
diff --git a/lib/tsan/lit_tests/stack_race2.cc b/test/tsan/stack_race2.cc
index 577f12c95..577f12c95 100644
--- a/lib/tsan/lit_tests/stack_race2.cc
+++ b/test/tsan/stack_race2.cc
diff --git a/lib/tsan/lit_tests/static_init1.cc b/test/tsan/static_init1.cc
index 4faf5bc54..4faf5bc54 100644
--- a/lib/tsan/lit_tests/static_init1.cc
+++ b/test/tsan/static_init1.cc
diff --git a/lib/tsan/lit_tests/static_init2.cc b/test/tsan/static_init2.cc
index 96ef821a7..96ef821a7 100644
--- a/lib/tsan/lit_tests/static_init2.cc
+++ b/test/tsan/static_init2.cc
diff --git a/lib/tsan/lit_tests/static_init3.cc b/test/tsan/static_init3.cc
index 70a3c1687..70a3c1687 100644
--- a/lib/tsan/lit_tests/static_init3.cc
+++ b/test/tsan/static_init3.cc
diff --git a/lib/tsan/lit_tests/static_init4.cc b/test/tsan/static_init4.cc
index 5ecc39926..5ecc39926 100644
--- a/lib/tsan/lit_tests/static_init4.cc
+++ b/test/tsan/static_init4.cc
diff --git a/lib/tsan/lit_tests/static_init5.cc b/test/tsan/static_init5.cc
index 1d0ed6d54..1d0ed6d54 100644
--- a/lib/tsan/lit_tests/static_init5.cc
+++ b/test/tsan/static_init5.cc
diff --git a/lib/tsan/lit_tests/static_init6.cc b/test/tsan/static_init6.cc
index c9099f9b6..c9099f9b6 100644
--- a/lib/tsan/lit_tests/static_init6.cc
+++ b/test/tsan/static_init6.cc
diff --git a/lib/tsan/lit_tests/suppress_same_address.cc b/test/tsan/suppress_same_address.cc
index 8fbf7b9ed..8fbf7b9ed 100644
--- a/lib/tsan/lit_tests/suppress_same_address.cc
+++ b/test/tsan/suppress_same_address.cc
diff --git a/lib/tsan/lit_tests/suppress_same_stacks.cc b/test/tsan/suppress_same_stacks.cc
index f0ab8b304..f0ab8b304 100644
--- a/lib/tsan/lit_tests/suppress_same_stacks.cc
+++ b/test/tsan/suppress_same_stacks.cc
diff --git a/lib/tsan/lit_tests/suppressions_global.cc b/test/tsan/suppressions_global.cc
index 181cb56cf..181cb56cf 100644
--- a/lib/tsan/lit_tests/suppressions_global.cc
+++ b/test/tsan/suppressions_global.cc
diff --git a/lib/tsan/lit_tests/suppressions_global.cc.supp b/test/tsan/suppressions_global.cc.supp
index 5fa8a2e43..5fa8a2e43 100644
--- a/lib/tsan/lit_tests/suppressions_global.cc.supp
+++ b/test/tsan/suppressions_global.cc.supp
diff --git a/lib/tsan/lit_tests/suppressions_race.cc b/test/tsan/suppressions_race.cc
index c88e69bec..c88e69bec 100644
--- a/lib/tsan/lit_tests/suppressions_race.cc
+++ b/test/tsan/suppressions_race.cc
diff --git a/lib/tsan/lit_tests/suppressions_race.cc.supp b/test/tsan/suppressions_race.cc.supp
index cbdba76ea..cbdba76ea 100644
--- a/lib/tsan/lit_tests/suppressions_race.cc.supp
+++ b/test/tsan/suppressions_race.cc.supp
diff --git a/lib/tsan/lit_tests/suppressions_race2.cc b/test/tsan/suppressions_race2.cc
index 57146f96a..57146f96a 100644
--- a/lib/tsan/lit_tests/suppressions_race2.cc
+++ b/test/tsan/suppressions_race2.cc
diff --git a/lib/tsan/lit_tests/suppressions_race2.cc.supp b/test/tsan/suppressions_race2.cc.supp
index b3c4dbc59..b3c4dbc59 100644
--- a/lib/tsan/lit_tests/suppressions_race2.cc.supp
+++ b/test/tsan/suppressions_race2.cc.supp
diff --git a/lib/tsan/lit_tests/test_output.sh b/test/tsan/test_output.sh
index 347443a7f..8a15a6738 100755
--- a/lib/tsan/lit_tests/test_output.sh
+++ b/test/tsan/test_output.sh
@@ -3,8 +3,9 @@
ulimit -s 8192
set -e # fail on any error
-ROOTDIR=$(dirname $0)/..
-BLACKLIST=$ROOTDIR/lit_tests/Helpers/blacklist.txt
+HERE=$(dirname $0)
+TSAN_DIR=$(dirname $0)/../../lib/tsan
+BLACKLIST=$HERE/Helpers/blacklist.txt
# Assume clang and clang++ are in path.
: ${CC:=clang}
@@ -13,7 +14,7 @@ BLACKLIST=$ROOTDIR/lit_tests/Helpers/blacklist.txt
# TODO: add testing for all of -O0...-O3
CFLAGS="-fsanitize=thread -fsanitize-blacklist=$BLACKLIST -fPIE -O1 -g -Wall"
-LDFLAGS="-pie -lpthread -ldl -lrt -lm -Wl,--whole-archive $ROOTDIR/rtl/libtsan.a -Wl,--no-whole-archive"
+LDFLAGS="-pie -lpthread -ldl -lrt -lm -Wl,--whole-archive $TSAN_DIR/rtl/libtsan.a -Wl,--no-whole-archive"
test_file() {
SRC=$1
@@ -31,7 +32,7 @@ test_file() {
}
if [ "$1" == "" ]; then
- for c in $ROOTDIR/lit_tests/*.{c,cc}; do
+ for c in $HERE/*.{c,cc}; do
if [[ $c == */failing_* ]]; then
echo SKIPPING FAILING TEST $c
continue
@@ -54,5 +55,5 @@ if [ "$1" == "" ]; then
wait $job || exit 1
done
else
- test_file $ROOTDIR/lit_tests/$1 $CXX "DUMP"
+ test_file $HERE/$1 $CXX "DUMP"
fi
diff --git a/lib/tsan/lit_tests/thread_end_with_ignore.cc b/test/tsan/thread_end_with_ignore.cc
index 8bb52e3e8..8bb52e3e8 100644
--- a/lib/tsan/lit_tests/thread_end_with_ignore.cc
+++ b/test/tsan/thread_end_with_ignore.cc
diff --git a/lib/tsan/lit_tests/thread_end_with_ignore2.cc b/test/tsan/thread_end_with_ignore2.cc
index 224599c95..224599c95 100644
--- a/lib/tsan/lit_tests/thread_end_with_ignore2.cc
+++ b/test/tsan/thread_end_with_ignore2.cc
diff --git a/lib/tsan/lit_tests/thread_end_with_ignore3.cc b/test/tsan/thread_end_with_ignore3.cc
index bf46eb89b..bf46eb89b 100644
--- a/lib/tsan/lit_tests/thread_end_with_ignore3.cc
+++ b/test/tsan/thread_end_with_ignore3.cc
diff --git a/lib/tsan/lit_tests/thread_leak.c b/test/tsan/thread_leak.c
index c5e669e5d..c5e669e5d 100644
--- a/lib/tsan/lit_tests/thread_leak.c
+++ b/test/tsan/thread_leak.c
diff --git a/lib/tsan/lit_tests/thread_leak2.c b/test/tsan/thread_leak2.c
index 39f6b5e02..39f6b5e02 100644
--- a/lib/tsan/lit_tests/thread_leak2.c
+++ b/test/tsan/thread_leak2.c
diff --git a/lib/tsan/lit_tests/thread_leak3.c b/test/tsan/thread_leak3.c
index 5f447dbdb..5f447dbdb 100644
--- a/lib/tsan/lit_tests/thread_leak3.c
+++ b/test/tsan/thread_leak3.c
diff --git a/lib/tsan/lit_tests/thread_leak4.c b/test/tsan/thread_leak4.c
index f9fad0360..f9fad0360 100644
--- a/lib/tsan/lit_tests/thread_leak4.c
+++ b/test/tsan/thread_leak4.c
diff --git a/lib/tsan/lit_tests/thread_leak5.c b/test/tsan/thread_leak5.c
index c19d6177f..c19d6177f 100644
--- a/lib/tsan/lit_tests/thread_leak5.c
+++ b/test/tsan/thread_leak5.c
diff --git a/lib/tsan/lit_tests/thread_name.cc b/test/tsan/thread_name.cc
index 646ab5836..646ab5836 100644
--- a/lib/tsan/lit_tests/thread_name.cc
+++ b/test/tsan/thread_name.cc
diff --git a/lib/tsan/lit_tests/thread_name2.cc b/test/tsan/thread_name2.cc
index 8c5cb741f..8c5cb741f 100644
--- a/lib/tsan/lit_tests/thread_name2.cc
+++ b/test/tsan/thread_name2.cc
diff --git a/lib/tsan/lit_tests/tiny_race.c b/test/tsan/tiny_race.c
index f77e1606c..f77e1606c 100644
--- a/lib/tsan/lit_tests/tiny_race.c
+++ b/test/tsan/tiny_race.c
diff --git a/lib/tsan/lit_tests/tls_race.cc b/test/tsan/tls_race.cc
index 7b1f38d62..7b1f38d62 100644
--- a/lib/tsan/lit_tests/tls_race.cc
+++ b/test/tsan/tls_race.cc
diff --git a/lib/tsan/lit_tests/tls_race2.cc b/test/tsan/tls_race2.cc
index 2cf44ae54..2cf44ae54 100644
--- a/lib/tsan/lit_tests/tls_race2.cc
+++ b/test/tsan/tls_race2.cc
diff --git a/lib/tsan/lit_tests/tsan-vs-gvn.cc b/test/tsan/tsan-vs-gvn.cc
index 40ae724b7..40ae724b7 100644
--- a/lib/tsan/lit_tests/tsan-vs-gvn.cc
+++ b/test/tsan/tsan-vs-gvn.cc
diff --git a/lib/tsan/lit_tests/unaligned_norace.cc b/test/tsan/unaligned_norace.cc
index 792224b80..792224b80 100644
--- a/lib/tsan/lit_tests/unaligned_norace.cc
+++ b/test/tsan/unaligned_norace.cc
diff --git a/lib/tsan/lit_tests/unaligned_race.cc b/test/tsan/unaligned_race.cc
index 3534ff5d6..3534ff5d6 100644
--- a/lib/tsan/lit_tests/unaligned_race.cc
+++ b/test/tsan/unaligned_race.cc
diff --git a/lib/tsan/lit_tests/user_fopen.cc b/test/tsan/user_fopen.cc
index 794d59871..794d59871 100644
--- a/lib/tsan/lit_tests/user_fopen.cc
+++ b/test/tsan/user_fopen.cc
diff --git a/lib/tsan/lit_tests/user_malloc.cc b/test/tsan/user_malloc.cc
index 0be6d54fb..0be6d54fb 100644
--- a/lib/tsan/lit_tests/user_malloc.cc
+++ b/test/tsan/user_malloc.cc
diff --git a/lib/tsan/lit_tests/virtual_inheritance_compile_bug.cc b/test/tsan/virtual_inheritance_compile_bug.cc
index 2275b8b8d..2275b8b8d 100644
--- a/lib/tsan/lit_tests/virtual_inheritance_compile_bug.cc
+++ b/test/tsan/virtual_inheritance_compile_bug.cc
diff --git a/lib/tsan/lit_tests/vptr_benign_race.cc b/test/tsan/vptr_benign_race.cc
index 8c9fc596e..8c9fc596e 100644
--- a/lib/tsan/lit_tests/vptr_benign_race.cc
+++ b/test/tsan/vptr_benign_race.cc
diff --git a/lib/tsan/lit_tests/vptr_harmful_race.cc b/test/tsan/vptr_harmful_race.cc
index 0105c4ced..0105c4ced 100644
--- a/lib/tsan/lit_tests/vptr_harmful_race.cc
+++ b/test/tsan/vptr_harmful_race.cc
diff --git a/lib/tsan/lit_tests/vptr_harmful_race2.cc b/test/tsan/vptr_harmful_race2.cc
index 378790c62..378790c62 100644
--- a/lib/tsan/lit_tests/vptr_harmful_race2.cc
+++ b/test/tsan/vptr_harmful_race2.cc
diff --git a/lib/tsan/lit_tests/write_in_reader_lock.cc b/test/tsan/write_in_reader_lock.cc
index e872fe3ff..e872fe3ff 100644
--- a/lib/tsan/lit_tests/write_in_reader_lock.cc
+++ b/test/tsan/write_in_reader_lock.cc