[PATCH] D11484: [compiler] [tsan] Enable tsan for aarch64

Adhemerval Zanella adhemerval.zanella at linaro.org
Fri Jul 24 06:49:11 PDT 2015


zatrazz created this revision.
zatrazz added reviewers: kcc, eugenis, rengolin.
zatrazz added a subscriber: llvm-commits.
Herald added subscribers: srhines, danalbert, tberghammer, rengolin, aemerson.

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 execption 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.

http://reviews.llvm.org/D11484

Files:
  cmake/config-ix.cmake
  lib/sanitizer_common/sanitizer_linux.cc
  lib/sanitizer_common/sanitizer_linux.h
  lib/sanitizer_common/sanitizer_linux_libcdep.cc
  lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
  lib/tsan/rtl/tsan_interceptors.cc
  lib/tsan/rtl/tsan_platform.h
  lib/tsan/rtl/tsan_platform_linux.cc
  lib/tsan/rtl/tsan_rtl.h
  test/tsan/ignore_lib0.cc
  test/tsan/ignore_lib1.cc
  test/tsan/ignore_lib3.cc
  test/tsan/longjmp.cc
  test/tsan/longjmp2.cc
  test/tsan/longjmp3.cc
  test/tsan/longjmp4.cc
  test/tsan/map32bit.cc
  test/tsan/mmap_large.cc
  test/tsan/signal_longjmp.cc
  test/tsan/test.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11484.30572.patch
Type: text/x-patch
Size: 16743 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150724/f0b4c748/attachment.bin>


More information about the llvm-commits mailing list