[PATCH] D39905: [scudo] Bump the Android API level requirement to 21 for getauxval

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 10 08:55:32 PST 2017


cryptoad created this revision.
Herald added subscribers: kristof.beyls, srhines, aemerson.

`getauxval` was introduced in 18 & 21 depending on the architecture. Bump the
requirement to 21.

It also turns out that the NDK is finicky: NDK r13b doesn't include sys/auxv.h
when creating a standalone toolchain at API level 19 for ARM. So 18 didn't work
well with older NDKs.


https://reviews.llvm.org/D39905

Files:
  lib/scudo/scudo_utils.cpp


Index: lib/scudo/scudo_utils.cpp
===================================================================
--- lib/scudo/scudo_utils.cpp
+++ lib/scudo/scudo_utils.cpp
@@ -18,9 +18,9 @@
 # include <cpuid.h>
 #endif
 #if defined(__arm__) || defined(__aarch64__)
-# if SANITIZER_ANDROID && __ANDROID_API__ < 18
-// getauxval() was introduced with API level 18 on Android. Emulate it using
-// /proc/self/auxv for lower API levels.
+# if SANITIZER_ANDROID && __ANDROID_API__ < 21
+// getauxval() was introduced with API level 18 for ARM and 21 for AArch64.
+// Emulate it using /proc/self/auxv for lower API levels.
 #  include "sanitizer_common/sanitizer_posix.h"
 
 #  include <fcntl.h>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39905.122450.patch
Type: text/x-patch
Size: 679 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171110/13cc5898/attachment.bin>


More information about the llvm-commits mailing list