Fix compilation issue on arm64 with Debian's glibc 2.19
Fuchsia's glibc is derived from Debian so it's causing issues on
Fuchsia.
Change-Id: Iacb37475ed7b20167fbdfe6d5946ba5b0d3992ae
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2630288
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
GitOrigin-RevId: 37dd8f83def8e85cdf1b71528832980021078d86
diff --git a/compat/linux/sys/user.h b/compat/linux/sys/user.h
index 6ed77a9..d698c35 100644
--- a/compat/linux/sys/user.h
+++ b/compat/linux/sys/user.h
@@ -20,8 +20,11 @@
#include <features.h>
// glibc for 64-bit ARM uses different names for these structs prior to 2.20.
+// However, Debian's glibc 2.19-8 backported the change so it's not sufficient
+// to only test the version. user_pt_regs and user_fpsimd_state are actually
+// defined in <asm/ptrace.h> so we use the include guard here.
#if defined(__aarch64__) && defined(__GLIBC__)
-#if !__GLIBC_PREREQ(2, 20)
+#if !__GLIBC_PREREQ(2, 20) && defined(__ASM_PTRACE_H)
using user_regs_struct = user_pt_regs;
using user_fpsimd_struct = user_fpsimd_state;
#endif