vapier      15/07/21 02:40:34

  Modified:             README.history
  Added:               
                        
00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch
  Log:
  fix from upstream for sparc32 sigaction abi breakage #550836

Revision  Changes    Path
1.4                  src/patchsets/glibc/2.20/README.history

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.20/README.history?rev=1.4&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.20/README.history?rev=1.4&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.20/README.history?r1=1.3&r2=1.4

Index: README.history
===================================================================
RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/2.20/README.history,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- README.history      17 Feb 2015 08:08:42 -0000      1.3
+++ README.history      21 Jul 2015 02:40:34 -0000      1.4
@@ -1,3 +1,6 @@
+5              21 Jul 2015
+       + 00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch
+
 4              17 Feb 2014
        R 00_all_0018-arm-drop-EABI-check.patch -> 
00_all_0029-arm-drop-EABI-check.patch
        + 00_all_0018-Update-Russian-translation.patch



1.1                  
src/patchsets/glibc/2.20/00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.20/00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.20/00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch?rev=1.1&content-type=text/plain

Index: 00_all_0037-sparc-fix-sigaction-for-32bit-builds-BZ-18694.patch
===================================================================
>From 716f049a55a42d97c0e9e82cc0a7d4b609456f8f Mon Sep 17 00:00:00 2001
From: Mike Frysinger <[email protected]>
Date: Mon, 20 Jul 2015 07:29:15 -0400
Subject: [PATCH] sparc: fix sigaction for 32bit builds [BZ #18694]

Commit a059d359d86130b5fa74e04a978c8523a0293f77 changed the sigaction
struct to pass conform tests, but it ended up also changing the ABI for
32 bit builds.  For 64 bit builds, changing the long to two ints works,
but for 32 bit builds, it inserts 4 extra bytes.  This leads to many
packages randomly failing like bash that spews things like:
        configure: line 471: wait_for: No record of process 0

Bracket the new member by a wordsize check to fix the ABI for 32bit.

(cherry picked from commit 7fde904c73c57faea48c9679bbdc0932d81b3a2f)
(cherry picked from commit ed99e5f9cc6471745488f269d16ee5b127944a85)
---
 ChangeLog                                      | 7 +++++++
 NEWS                                           | 6 +++++-
 sysdeps/unix/sysv/linux/sparc/bits/sigaction.h | 4 ++++
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index ccce486..d9cbce7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-07-21  Mike Frysinger  <[email protected]>
+
+       [BZ #18694]
+       * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Include
+       bits/wordsize.h.
+       (sigaction): Declare __glibc_reserved0 only when __WORDSIZE is 64.
+
 2015-02-16  Paul Pluzhnikov  <[email protected]>
 
        [BZ #16618]
diff --git a/NEWS b/NEWS
index 976f2ea..b469ad2 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.20.1
 * The following bugs are resolved with this release:
 
   16009, 16617, 16618, 17266, 17370, 17371, 17460, 17485, 17555, 17625,
-  17630, 17801.
+  17630, 17801, 18694.
 
 * CVE-2015-1472 Under certain conditions wscanf can allocate too little
   memory for the to-be-scanned arguments and overflow the allocated
@@ -29,6 +29,10 @@ Version 2.20.1
 * CVE-2014-9402 The nss_dns implementation of getnetbyname could run into an
   infinite loopif the DNS response contained a PTR record of an unexpected
   format.
+
+* The 32-bit sparc sigaction ABI was inadvertently broken in the 2.20 release.
+  It has been fixed to match 2.19 and older, but binaries built against 2.20
+  might need to be recompiled.  See BZ#18694.
 
 Version 2.20
 
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h 
b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
index 7a0ca7e..b1b121d 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -20,6 +20,8 @@
 # error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
 #endif
 
+#include <bits/wordsize.h>
+
 /* Structure describing the action to be taken when a signal arrives.  */
 struct sigaction
   {
@@ -43,7 +45,9 @@ struct sigaction
     __sigset_t sa_mask;
 
     /* Special flags.  */
+#if __WORDSIZE == 64
     int __glibc_reserved0;
+#endif
     int sa_flags;
 
     /* Not used by Linux/Sparc yet.  */
-- 
2.4.4





Reply via email to