diff --git a/src/common/android/include/sys/user.h b/src/common/android/include/sys/user.h index a8b5e186..5f036047 100644 --- a/src/common/android/include/sys/user.h +++ b/src/common/android/include/sys/user.h @@ -34,16 +34,12 @@ // 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 include. +// - aarch64: Add missing user_regs_struct and user_fpsimd_struct structs. // - 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. -#ifdef __aarch64__ -#include -#endif // __aarch64__ - #include_next #ifdef __i386__ @@ -56,4 +52,24 @@ typedef struct user_fxsr_struct user_fpxregs_struct; #endif // __cplusplus #endif // __i386__ +#ifdef __aarch64__ +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus +struct user_regs_struct { + __u64 regs[31]; + __u64 sp; + __u64 pc; + __u64 pstate; +}; +struct user_fpsimd_struct { + __uint128_t vregs[32]; + __u32 fpsr; + __u32 fpcr; +}; +#ifdef __cplusplus +} // extern "C" +#endif // __cplusplus +#endif // __aarch64__ + #endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_USER_H