summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-07-26 21:02:44 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2016-07-26 21:02:44 +0000
commitf3d08b7b97b1f51038d353a5a3539857742f9c21 (patch)
tree3b45ef536a0b16b4491807d0f16dffce5a52ebdd /lib
parent347a2df0052087ff0c310fc177923bef84186f56 (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.cc5
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.