Index: lib/sanitizer_common/sanitizer_posix_libcdep.cc =================================================================== --- lib/sanitizer_common/sanitizer_posix_libcdep.cc +++ lib/sanitizer_common/sanitizer_posix_libcdep.cc @@ -61,8 +61,10 @@ uptr page_size = GetPageSizeCached(); uptr beg_aligned = RoundUpTo(beg, page_size); uptr end_aligned = RoundDownTo(end, page_size); + const int madvise_flag = + (SANITIZER_FREEBSD || SANITIZER_MAC) ? MADV_FREE : MADV_DONTNEED; if (beg_aligned < end_aligned) - madvise((void*)beg_aligned, end_aligned - beg_aligned, MADV_DONTNEED); + madvise((void*)beg_aligned, end_aligned - beg_aligned, madvise_flag); } void NoHugePagesInRegion(uptr addr, uptr size) {