Index: third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc |
diff --git a/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc b/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc |
index 96ea75028a8b10ca83050d71b3a095f75942a270..1a20913aff63574141cc362941bf02d85e09d8a6 100644 |
--- a/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc |
+++ b/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc |
@@ -48,28 +48,64 @@ std::string UserAgent() { |
// as the user process’ architecture. On Linux, these names are normally |
// defined in each architecture’s Makefile as UTS_MACHINE, but can be |
// overridden in architecture-specific configuration as COMPAT_UTS_MACHINE. |
- // See linux-4.4.52/arch/*/Makefile and |
- // linux-4.4.52/arch/*/include/asm/compat.h. In turn, on some systems, these |
+ // See linux-4.9.17/arch/*/Makefile and |
+ // linux-4.9.17/arch/*/include/asm/compat.h. In turn, on some systems, these |
// names are further overridden or refined in early kernel startup code by |
- // modifying the string returned by linux-4.4.52/include/linux/utsname.h |
+ // modifying the string returned by linux-4.9.17/include/linux/utsname.h |
// init_utsname() as noted. |
#if defined(ARCH_CPU_X86) |
- // linux-4.4.52/arch/x86/kernel/cpu/bugs.c check_bugs() sets the first digit |
- // to 4, 5, or 6, but no higher. Assume 6. |
+ // linux-4.9.17/arch/x86/kernel/cpu/bugs.c check_bugs() sets the first digit |
+ // to 4, 5, or 6, but no higher. |
+#if defined(__i686__) |
const char arch[] = "i686"; |
+#elif defined(__i586__) |
+ const char arch[] = "i586"; |
+#elif defined(__i486__) |
+ const char arch[] = "i486"; |
+#else |
+ const char arch[] = "i386"; |
+#endif |
#elif defined(ARCH_CPU_X86_64) |
const char arch[] = "x86_64"; |
#elif defined(ARCH_CPU_ARMEL) |
- // linux-4.4.52/arch/arm/kernel/setup.c setup_processor() bases the string |
+ // linux-4.9.17/arch/arm/kernel/setup.c setup_processor() bases the string |
// on the ARM processor name and a character identifying little- or |
// big-endian. The processor name comes from a definition in |
- // arch/arm/mm/proc-*.S. Assume armv7, little-endian. |
- const char arch[] = "armv7l"; |
+ // arch/arm/mm/proc-*.S. |
+#if defined(__ARM_ARCH_4T__) |
+ const char arch[] = "armv4t" |
+#elif defined(__ARM_ARCH_5TEJ__) |
+ const char arch[] = "armv5tej" |
+#elif defined(__ARM_ARCH_5TE__) |
+ const char arch[] = "armv5te" |
+#elif defined(__ARM_ARCH_5T__) |
+ const char arch[] = "armv5t" |
+#elif defined(__ARM_ARCH_7M__) |
+ const char arch[] = "armv7m" |
+#else |
+ // Most ARM architectures fall into here, including all profile variants of |
+ // armv6, armv7, armv8, with one exception, armv7m, handled above. |
+ // xstr(__ARM_ARCH) will be the architecture revision number, such as 6, 7, |
+ // or 8. |
+#define xstr(s) str(s) |
+#define str(s) #s |
+ const char arch[] = "armv" xstr(__ARM_ARCH) |
+#undef str |
+#undef xstr |
+#endif |
+#if defined(ARCH_CPU_LITTLE_ENDIAN) |
+ "l"; |
+#elif defined(ARCH_CPU_BIG_ENDIAN) |
+ "b"; |
+#endif |
#elif defined(ARCH_CPU_ARM64) |
// ARM64 uses aarch64 or aarch64_be as directed by ELF_PLATFORM. See |
- // linux-4.4.52/arch/arm64/kernel/setup.c setup_arch(). Assume |
- // little-endian. |
+ // linux-4.9.17/arch/arm64/kernel/setup.c setup_arch(). |
+#if defined(ARCH_CPU_LITTLE_ENDIAN) |
const char arch[] = "aarch64"; |
+#elif defined(ARCH_CPU_BIG_ENDIAN) |
+ const char arch[] = "aarch64_be"; |
+#endif |
#elif defined(ARCH_CPU_MIPSEL) |
const char arch[] = "mips"; |
#elif defined(ARCH_CPU_MIPS64EL) |