HomePhabricator

[tsan] Enable tsan for aarch64

Description

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

Details

Committed
azanellaAug 5 2015, 8:17 AM
Parents
rL244054: [asan] Enable asan for aarch64
Branches
Unknown
Tags
Unknown