diff mbox

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

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

Commit Message

Jessica Clarke Jan. 4, 2017, 8:56 p.m. UTC
libsanitizer:
	PR sanitizer/78992
	* sanitizer_common/sanitizer_platform_limits_posix.h: sigaction
	should only have __glibc_reserved0 as a member on 64-bit sparc.
---
 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Jakub Jelinek Jan. 4, 2017, 9:05 p.m. UTC | #1
On Wed, Jan 04, 2017 at 08:56:07PM +0000, James Clarke wrote:
> libsanitizer:
> 	PR sanitizer/78992
> 	* sanitizer_common/sanitizer_platform_limits_posix.h: sigaction
> 	should only have __glibc_reserved0 as a member on 64-bit sparc.

It should be committed upstream first and then the ChangeLog entry
should read just:
	PR sanitizer/78992
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(struct __sanitizer_sigaction): Cherry-pick upstream r29XXXX.
Otherwise LGTM.

	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;