diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2016-07-26 21:02:44 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2016-07-26 21:02:44 +0000 |
commit | f3d08b7b97b1f51038d353a5a3539857742f9c21 (patch) | |
tree | 3b45ef536a0b16b4491807d0f16dffce5a52ebdd /lib | |
parent | 347a2df0052087ff0c310fc177923bef84186f56 (diff) |
[asan] Hardcode page size 4096 on Android.
EXEC_PAGESIZE lies.
sysconf() is broken in .preinit_array.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@276802 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sanitizer_common/sanitizer_linux.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc index 5c5a1a61a..b8890ea9f 100644 --- a/lib/sanitizer_common/sanitizer_linux.cc +++ b/lib/sanitizer_common/sanitizer_linux.cc @@ -801,8 +801,9 @@ bool ThreadLister::GetDirectoryEntries() { uptr GetPageSize() { // Android post-M sysconf(_SC_PAGESIZE) crashes if called from .preinit_array. -#if (SANITIZER_LINUX && (defined(__x86_64__) || defined(__i386__))) || \ - SANITIZER_ANDROID +#if SANITIZER_ANDROID + return 4096; +#elif SANITIZER_LINUX && (defined(__x86_64__) || defined(__i386__)) return EXEC_PAGESIZE; #else return sysconf(_SC_PAGESIZE); // EXEC_PAGESIZE may not be trustworthy. |