From 6782f71d4bb1bbfedcb82e89a9a61a92691985e2 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Fri, 5 Dec 2025 13:41:24 -0800 Subject: [PATCH 1/2] [asan] Add config for AArch64 Linux with 39-bit VA. This is leveraging work which has already been done for Android, which ships 39-bit VA kernels, and extending it to other embedded Linux targets. (SANITIZER_AARCH64_39BIT_VA was added in 58c8f57681.) --- compiler-rt/lib/asan/asan_allocator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h index fdf456473fb02..e2ec877696c0a 100644 --- a/compiler-rt/lib/asan/asan_allocator.h +++ b/compiler-rt/lib/asan/asan_allocator.h @@ -200,7 +200,7 @@ const uptr kAllocatorSpace = ~(uptr)0; # if defined(__powerpc64__) const uptr kAllocatorSize = 0x20000000000ULL; // 2T. typedef DefaultSizeClassMap SizeClassMap; -# elif defined(__aarch64__) && SANITIZER_ANDROID +# elif defined(__aarch64__) && (SANITIZER_ANDROID || defined(SANITIZER_AARCH64_39BIT_VA)) // Android needs to support 39, 42 and 48 bit VMA. const uptr kAllocatorSize = 0x2000000000ULL; // 128G. typedef VeryCompactSizeClassMap SizeClassMap; From 96d9617156b2466cc5dd31977d249895020baee5 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Fri, 5 Dec 2025 13:57:09 -0800 Subject: [PATCH 2/2] Fix formatting --- compiler-rt/lib/asan/asan_allocator.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h index e2ec877696c0a..7798137246cf4 100644 --- a/compiler-rt/lib/asan/asan_allocator.h +++ b/compiler-rt/lib/asan/asan_allocator.h @@ -200,7 +200,8 @@ const uptr kAllocatorSpace = ~(uptr)0; # if defined(__powerpc64__) const uptr kAllocatorSize = 0x20000000000ULL; // 2T. typedef DefaultSizeClassMap SizeClassMap; -# elif defined(__aarch64__) && (SANITIZER_ANDROID || defined(SANITIZER_AARCH64_39BIT_VA)) +# elif defined(__aarch64__) && \ + (SANITIZER_ANDROID || defined(SANITIZER_AARCH64_39BIT_VA)) // Android needs to support 39, 42 and 48 bit VMA. const uptr kAllocatorSize = 0x2000000000ULL; // 128G. typedef VeryCompactSizeClassMap SizeClassMap;