diff mbox

[v2] PR sanitizer/78992: Fix sigaction definition on 32-bit sparc

Message ID 20170110131932.80911-1-jrtc27@jrtc27.com
State New
Headers show

Commit Message

Jessica Clarke Jan. 10, 2017, 1:19 p.m. UTC
libsanitizer:
	PR sanitizer/78992
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(struct __sanitizer_sigaction): Cherry-pick upstream r291561.
---
 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Jakub Jelinek Jan. 10, 2017, 1:20 p.m. UTC | #1
On Tue, Jan 10, 2017 at 01:19:32PM +0000, James Clarke wrote:
> libsanitizer:
> 	PR sanitizer/78992
> 	* sanitizer_common/sanitizer_platform_limits_posix.h
> 	(struct __sanitizer_sigaction): Cherry-pick upstream r291561.

Ok, thanks.

> ---
>  libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h | 7 +++++--
>  1 file 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;
> -- 
> 2.11.0

	Jakub
diff mbox

Patch

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;