aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/sanitizer_common
diff options
context:
space:
mode:
authorJames Clarke <jrtc27@jrtc27.com>2017-01-10 15:22:56 +0000
committerJakub Jelinek <jakub@gcc.gnu.org>2017-01-10 16:22:56 +0100
commit942136a43d3463087a19c1fce4804ba41e4d8c1d (patch)
tree4c1b888a94ddf6a0e09c2d8a3c6a181cfa4215b5 /libsanitizer/sanitizer_common
parentaae23693f8a8274100dafe63c3d2e6498b24461f (diff)
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
Diffstat (limited to 'libsanitizer/sanitizer_common')
-rw-r--r--libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h7
1 files changed, 5 insertions, 2 deletions
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;