From 965424f183596292e7df89404f16c420bdcdf9e1 Mon Sep 17 00:00:00 2001 From: John Budorick Date: Fri, 15 Jul 2016 12:49:44 -0700 Subject: [PATCH] [Android] Guard some NDK workarounds by major version. BUG=599327 R=mark@chromium.org Review URL: https://codereview.chromium.org/2152153003 . --- src/common/android/include/sys/user.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/common/android/include/sys/user.h b/src/common/android/include/sys/user.h index 5f036047..1eb02a57 100644 --- a/src/common/android/include/sys/user.h +++ b/src/common/android/include/sys/user.h @@ -34,12 +34,20 @@ // glibc) and therefore avoid doing otherwise awkward #ifdefs in the code. // The following quirks are currently handled by this file: // - i386: Use the Android NDK but alias user_fxsr_struct > user_fpxregs_struct. -// - aarch64: Add missing user_regs_struct and user_fpsimd_struct structs. +// - aarch64: +// - NDK r10: Add missing user_regs_struct and user_fpsimd_struct structs. +// - NDK r11+: Add missing include // - Other platforms: Just use the Android NDK unchanged. // TODO(primiano): remove these changes after Chromium has stably rolled to // an NDK with the appropriate fixes. +#if defined(ANDROID_NDK_MAJOR_VERSION) && ANDROID_NDK_MAJOR_VERSION > 10 +#ifdef __aarch64__ +#include +#endif // __aarch64__ +#endif // defined(ANDROID_NDK_MAJOR_VERSION) && ANDROID_NDK_MAJOR_VERSION > 10 + #include_next #ifdef __i386__ @@ -52,6 +60,7 @@ typedef struct user_fxsr_struct user_fpxregs_struct; #endif // __cplusplus #endif // __i386__ +#if !defined(ANDROID_NDK_MAJOR_VERSION) || ANDROID_NDK_MAJOR_VERSION == 10 #ifdef __aarch64__ #ifdef __cplusplus extern "C" { @@ -71,5 +80,6 @@ struct user_fpsimd_struct { } // extern "C" #endif // __cplusplus #endif // __aarch64__ +#endif // defined(ANDROID_NDK_VERSION) && ANDROID_NDK_MAJOR_VERSION == 10 #endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_USER_H