forked from OSchip/llvm-project
Revert "[tsan] Use large address space mapping on Apple Silicon Macs"
This reverts commit bde2e56071
.
This patch produces a compile failure on linux amd64 environments, when
running:
ninja GotsanRuntimeCheck
I get various build errors:
../rtl/tsan_platform.h:608: error: use of undeclared identifier 'Mapping'
return MappingImpl<Mapping, Type>();
Here's a buildbot with the same failure during stage "check-tsan in gcc
build", there are other unrelated failures in there.
http://lab.llvm.org:8011/#/builders/37/builds/2831
This commit is contained in:
parent
3b9667a84c
commit
66e3a4abe9
|
@ -26,18 +26,6 @@ namespace __tsan {
|
|||
#if !SANITIZER_GO
|
||||
|
||||
#if defined(__x86_64__)
|
||||
#define HAS_48_BIT_ADDRESS_SPACE 1
|
||||
#elif SANITIZER_IOSSIM // arm64 iOS simulators (order of #if matters)
|
||||
#define HAS_48_BIT_ADDRESS_SPACE 1
|
||||
#elif SANITIZER_IOS // arm64 iOS devices (order of #if matters)
|
||||
#define HAS_48_BIT_ADDRESS_SPACE 0
|
||||
#elif SANITIZER_MAC // arm64 macOS (order of #if matters)
|
||||
#define HAS_48_BIT_ADDRESS_SPACE 1
|
||||
#else
|
||||
#define HAS_48_BIT_ADDRESS_SPACE 0
|
||||
#endif
|
||||
|
||||
#if HAS_48_BIT_ADDRESS_SPACE
|
||||
/*
|
||||
C/C++ on linux/x86_64 and freebsd/x86_64
|
||||
0000 0000 1000 - 0080 0000 0000: main binary and/or MAP_32BIT mappings (512GB)
|
||||
|
@ -158,7 +146,7 @@ struct Mapping {
|
|||
static const uptr kVdsoBeg = 0x7000000000000000ull;
|
||||
};
|
||||
|
||||
#elif defined(__aarch64__) && !defined(__APPLE__)
|
||||
#elif defined(__aarch64__)
|
||||
// AArch64 supports multiple VMA which leads to multiple address transformation
|
||||
// functions. To support these multiple VMAS transformations and mappings TSAN
|
||||
// runtime for AArch64 uses an external memory read (vmaSize) to select which
|
||||
|
@ -366,7 +354,7 @@ struct Mapping47 {
|
|||
#define TSAN_RUNTIME_VMA 1
|
||||
#endif
|
||||
|
||||
#elif SANITIZER_GO && !SANITIZER_WINDOWS && HAS_48_BIT_ADDRESS_SPACE
|
||||
#elif SANITIZER_GO && !SANITIZER_WINDOWS && defined(__x86_64__)
|
||||
|
||||
/* Go on linux, darwin and freebsd on x86_64
|
||||
0000 0000 1000 - 0000 1000 0000: executable
|
||||
|
|
|
@ -234,7 +234,7 @@ static void my_pthread_introspection_hook(unsigned int event, pthread_t thread,
|
|||
#endif
|
||||
|
||||
void InitializePlatformEarly() {
|
||||
#if !SANITIZER_GO && !HAS_48_BIT_ADDRESS_SPACE
|
||||
#if !SANITIZER_GO && defined(__aarch64__)
|
||||
uptr max_vm = GetMaxUserVirtualAddress() + 1;
|
||||
if (max_vm != Mapping::kHiAppMemEnd) {
|
||||
Printf("ThreadSanitizer: unsupported vm address limit %p, expected %p.\n",
|
||||
|
|
|
@ -99,7 +99,7 @@ void CheckAndProtect() {
|
|||
Die();
|
||||
}
|
||||
|
||||
#if defined(__aarch64__) && !HAS_48_BIT_ADDRESS_SPACE
|
||||
#if defined(__aarch64__) && defined(__APPLE__)
|
||||
ProtectRange(HeapMemEnd(), ShadowBeg());
|
||||
ProtectRange(ShadowEnd(), MetaShadowBeg());
|
||||
ProtectRange(MetaShadowEnd(), TraceMemBeg());
|
||||
|
|
Loading…
Reference in New Issue