From 942136a43d3463087a19c1fce4804ba41e4d8c1d Mon Sep 17 00:00:00 2001 From: James Clarke Date: Tue, 10 Jan 2017 15:22:56 +0000 Subject: [PATCH] re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc) PR sanitizer/78992 * sanitizer_common/sanitizer_platform_limits_posix.h (struct __sanitizer_sigaction): Cherry-pick upstream r291561. From-SVN: r244275 --- libsanitizer/ChangeLog | 6 ++++++ .../sanitizer_common/sanitizer_platform_limits_posix.h | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index 3dc49d3ebb0..db9221c1384 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,9 @@ +2017-01-10 James Clarke + + PR sanitizer/78992 + * sanitizer_common/sanitizer_platform_limits_posix.h + (struct __sanitizer_sigaction): Cherry-pick upstream r291561. + 2016-11-30 Maxim Ostapenko * LOCAL_PATCHES: Add revision. diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h index 066bf41ffef..c139322839a 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h @@ -633,9 +633,12 @@ namespace __sanitizer { #ifndef __mips__ #if defined(__sparc__) #if __GLIBC_PREREQ (2, 20) - // On sparc glibc 2.19 and earlier sa_flags was unsigned long, and - // __glibc_reserved0 didn't exist. + // On sparc glibc 2.19 and earlier sa_flags was unsigned long. +#if defined(__arch64__) + // To maintain ABI compatibility on sparc64 when switching to an int, + // __glibc_reserved0 was added. int __glibc_reserved0; +#endif int sa_flags; #else unsigned long sa_flags;