tsan: fix broken aarch64_39/42 mappings and expand them
authorThurston Dang <thurston@google.com>
Thu, 12 Jan 2023 23:18:17 +0000 (23:18 +0000)
committerThurston Dang <thurston@google.com>
Tue, 17 Jan 2023 17:34:09 +0000 (17:34 +0000)
commitfd9f04a555ff7ba171b12b9d07e7ccc228219298
tree768d5591bbaaa9c43311a0cb547e352d127fc048
parentb015fccbe503fd7109405decb4f3eb6269e7706b
tsan: fix broken aarch64_39/42 mappings and expand them

The aarch64 39- and 42-bit mappings were broken: mappings to meta and shadow were not fully invertible. This CL introduces a working set of mappings, and also increases the size of some app regions:
* aarch64, 39-bit (2^39 == 512GB):
 - Low: (Old) 4GB -> (New) 20GB
 - Mid: 4GB -> 20GB
 - Heap: 4GB -> 12GB
 - High: 8GB -> 12GB
* aarch64, 42-bit (2^42 == 4TB):
 - Low: 64GB -> 128GB
 - Mid: 4GB -> 88GB
 - Heap: 64GB -> 192GB
 - High: 64GB

Additionally, this CL improves the code comments for all the linux aarch64 mappings.

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