[TSan] Define C/C++ address ranges for SystemZ
authorIlya Leoshkevich <iii@linux.ibm.com>
Fri, 2 Jul 2021 00:44:43 +0000 (02:44 +0200)
committerIlya Leoshkevich <iii@linux.ibm.com>
Thu, 15 Jul 2021 10:18:47 +0000 (12:18 +0200)
commit96a29df0b166ed52806dfd01236c604c0eb8b7d1
tree3c39c4c53c1c207eae9d7c8cc0b175d303abd52f
parentfab044045b63d59586caa09aa47892d0f7ce31d0
[TSan] Define C/C++ address ranges for SystemZ

The kernel supports a full 64-bit VMA, but we can use only 48 bits due
to the limitation imposed by SyncVar::GetId(). So define the address
ranges similar to the other architectures, except that the address
space "tail" needs to be made inaccessible in CheckAndProtect(). Since
it's for only one architecture, don't make an abstraction for this.

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D105629
compiler-rt/lib/tsan/rtl/tsan_platform.h
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp