File tree Expand file tree Collapse file tree 3 files changed +9
-2
lines changed
Expand file tree Collapse file tree 3 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,9 @@ option(SANITIZER_USE_STATIC_TEST_CXX
290290 "Use static libc++ for tests." ${DEFAULT_SANITIZER_USE_STATIC_TEST_CXX} )
291291pythonize_bool(SANITIZER_USE_STATIC_TEST_CXX)
292292
293+ option (SANITIZER_AARCH64_39BIT_VA
294+ "Configure sanitizer allocator for 39-bit VA kernel." OFF )
295+
293296set (COMPILER_RT_SUPPORTED_CXX_LIBRARIES none default libcxx)
294297set (COMPILER_RT_CXX_LIBRARY "default" CACHE STRING "Specify C++ library to use. Supported values are ${COMPILER_RT_SUPPORTED_CXX_LIBRARIES} ." )
295298if (NOT "${COMPILER_RT_CXX_LIBRARY} " IN_LIST COMPILER_RT_SUPPORTED_CXX_LIBRARIES)
@@ -843,6 +846,10 @@ if (SANITIZER_DISABLE_SYMBOLIZER_PATH_SEARCH)
843846 add_compile_definitions (SANITIZER_DISABLE_SYMBOLIZER_PATH_SEARCH)
844847endif ()
845848
849+ if (SANITIZER_AARCH64_39BIT_VA)
850+ add_compile_definitions (SANITIZER_AARCH64_39BIT_VA)
851+ endif ()
852+
846853add_subdirectory (lib)
847854
848855if (COMPILER_RT_INCLUDE_TESTS)
Original file line number Diff line number Diff line change @@ -200,7 +200,7 @@ const uptr kAllocatorSpace = ~(uptr)0;
200200# if defined(__powerpc64__)
201201const uptr kAllocatorSize = 0x20000000000ULL ; // 2T.
202202typedef DefaultSizeClassMap SizeClassMap;
203- # elif defined(__aarch64__) && SANITIZER_ANDROID
203+ # elif defined(__aarch64__) && ( SANITIZER_ANDROID || defined(SANITIZER_AARCH64_39BIT_VA))
204204// Android needs to support 39, 42 and 48 bit VMA.
205205const uptr kAllocatorSize = 0x2000000000ULL ; // 128G.
206206typedef VeryCompactSizeClassMap SizeClassMap;
Original file line number Diff line number Diff line change @@ -74,7 +74,7 @@ struct AP64 {
7474#if defined(HWASAN_ALIASING_MODE)
7575 static const uptr kSpaceSize = 1ULL << kAddressTagShift ;
7676 typedef __sanitizer::DefaultSizeClassMap SizeClassMap;
77- #elif SANITIZER_LINUX && !SANITIZER_ANDROID
77+ #elif SANITIZER_LINUX && !SANITIZER_ANDROID && !defined(SANITIZER_AARCH64_39BIT_VA)
7878 static const uptr kSpaceSize = 0x40000000000ULL ; // 4T.
7979 typedef __sanitizer::DefaultSizeClassMap SizeClassMap;
8080#else
You can’t perform that action at this time.
0 commit comments