summaryrefslogtreecommitdiff
path: root/libsanitizer/lsan/lsan_common.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libsanitizer/lsan/lsan_common.cc')
-rw-r--r--libsanitizer/lsan/lsan_common.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libsanitizer/lsan/lsan_common.cc b/libsanitizer/lsan/lsan_common.cc
index 7efbf600da20..6d674c5e4376 100644
--- a/libsanitizer/lsan/lsan_common.cc
+++ b/libsanitizer/lsan/lsan_common.cc
@@ -117,6 +117,10 @@ static inline bool CanBeAHeapPointer(uptr p) {
return ((p >> 47) == 0);
#elif defined(__mips64)
return ((p >> 40) == 0);
+#elif defined(__aarch64__)
+ unsigned runtimeVMA =
+ (MostSignificantSetBitIndex(GET_CURRENT_FRAME()) + 1);
+ return ((p >> runtimeVMA) == 0);
#else
return true;
#endif