llvm-project/compiler-rt/lib/tsan
Adhemerval Zanella d7984710ae [tsan] Enable tsan for aarch64
This patch enabled TSAN for aarch64 with 39-bit VMA layout.  As defined by
tsan_platform.h the layout used is:

0000 4000 00 - 0200 0000 00: main binary
2000 0000 00 - 4000 0000 00: shadow memory
4000 0000 00 - 5000 0000 00: metainfo
5000 0000 00 - 6000 0000 00: -
6000 0000 00 - 6200 0000 00: traces
6200 0000 00 - 7d00 0000 00: -
7d00 0000 00 - 7e00 0000 00: heap
7e00 0000 00 - 7fff ffff ff: modules and main thread stack

Which gives it about 8GB for main binary, 4GB for heap and 8GB for
modules and main thread stack.

Most of tests are passing, with the exception of:

 * ignore_lib0, ignore_lib1, ignore_lib3 due a kernel limitation for
   no support to make mmap page non-executable.

 * longjmp tests due missing specialized assembly routines.

These tests are xfail for now.

The only tsan issue still showing is:

  rtl/TsanRtlTest/Posix.ThreadLocalAccesses

Which still required further investigation.  The test is disable for
aarch64 for now.

llvm-svn: 244055
2015-08-05 15:17:59 +00:00
..
benchmarks
dd CMake: Stop using LLVM's custom parse_arguments. NFC 2015-06-19 03:39:24 +00:00
go [sanitizer] Implement logging to syslog. 2015-07-23 22:05:20 +00:00
rtl [tsan] Enable tsan for aarch64 2015-08-05 15:17:59 +00:00
tests [tsan] Enable tsan for aarch64 2015-08-05 15:17:59 +00:00
CMakeLists.txt [CMake] Remove redundant checks in TSan CMakeLists.txt 2015-06-17 22:24:49 +00:00
Makefile.old [TSan] Attempt to fix old Makefile build. 2015-04-28 01:27:17 +00:00
analyze_libtsan.sh tsan: add interface functions for unaligned access, e.g. __sanitizer_unaligned_load16 2013-04-30 11:56:56 +00:00
check_analyze.sh [TSan] Update check_analyze.sh expectations to match trunk Clang output. 2015-02-02 22:17:23 +00:00
check_cmake.sh tsan: use a different dir for llvm build 2014-10-15 08:56:15 +00:00
check_memcpy.sh tsan: refactor storage of meta information for heap blocks and sync objects 2014-05-29 13:50:54 +00:00