[compiler-rt] r276802 - [asan] Hardcode page size 4096 on Android.
Evgeniy Stepanov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 26 14:02:44 PDT 2016
Author: eugenis
Date: Tue Jul 26 16:02:44 2016
New Revision: 276802
URL: http://llvm.org/viewvc/llvm-project?rev=276802&view=rev
Log:
[asan] Hardcode page size 4096 on Android.
EXEC_PAGESIZE lies.
sysconf() is broken in .preinit_array.
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=276802&r1=276801&r2=276802&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Tue Jul 26 16:02:44 2016
@@ -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.
More information about the llvm-commits
mailing list