hppa: Make __SIGRTMIN 32 (ABI break).
authorCarlos O'Donell <carlos@redhat.com>
Fri, 24 Oct 2014 03:14:12 +0000 (23:14 -0400)
committerCarlos O'Donell <carlos@redhat.com>
Fri, 24 Oct 2014 03:18:19 +0000 (23:18 -0400)
In the Linux kernel version 3.17 the signal numbers were rearranged in
order to make hppa like every other arch. Previously we started
__SIGRTMIN at 37, and that meant several pieces of important software,
including systemd, would fail to build. To support systemd we removed
SIGEMT and SIGLOST, and rearranged the others according to expected
values. This is technically an ABI incompatible change, but because
zero applications use SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS nothing
broke.  Nothing uses SIGEMT and SIGLOST, and they were present for
HPUX compatibility which is no longer supported. Thus because nothing
breaks we don't do any compatibility work here.

Upstream kernel commit is 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab.

Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
Signed-off-by: Helge Deller <deller@gmx.de>
2014-10-23  Carlos O'Donell  <carlos@systemhalted.org>
    Helge Deller <deller@gmx.de>

[BZ #17508]
* sysdeps/unix/sysv/linux/hppa/bits/signum.h: Remove SIGEMT.
Define SIGSTKFLT as 7. Define SIGSYS as 31. Define SIGXCPU as 12.
Remove SIGLOST. Define SIGXFSZ as 30. Define __SIGRTMIN as 32.

ChangeLog
NEWS
sysdeps/unix/sysv/linux/hppa/bits/signum.h

index 1d05492..8afd75d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-10-23  Carlos O'Donell  <carlos@systemhalted.org>
+           Helge Deller <deller@gmx.de>
+
+       [BZ #17508]
+       * sysdeps/unix/sysv/linux/hppa/bits/signum.h: Remove SIGEMT.
+       Define SIGSTKFLT as 7. Define SIGSYS as 31. Define SIGXCPU as 12.
+       Remove SIGLOST. Define SIGXFSZ as 30. Define __SIGRTMIN as 32.
+
 2014-10-23  Joseph Myers  <joseph@codesourcery.com>
 
        [BZ #14132]
diff --git a/NEWS b/NEWS
index 5850c4a..13be62e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.21
 * The following bugs are resolved with this release:
 
   6652, 12926, 14171, 15884, 17266, 17363, 17370, 17371, 17411, 17460,
-  17485.
+  17485, 17508.
 \f
 Version 2.20
 
index 7f935c5..b05fee7 100644 (file)
 #define        SIGTRAP         5       /* Trace trap (POSIX).  */
 #define        SIGABRT         6       /* Abort (ANSI).  */
 #define        SIGIOT          6       /* IOT trap (4.2 BSD).  */
-#define        SIGEMT          7
+#define        SIGSTKFLT       7       /* Stack fault.  */
 #define        SIGFPE          8       /* Floating-point exception (ANSI).  */
 #define        SIGKILL         9       /* Kill, unblockable (POSIX).  */
 #define        SIGBUS          10      /* BUS error (4.2 BSD).  */
 #define        SIGSEGV         11      /* Segmentation violation (ANSI).  */
-#define SIGSYS         12      /* Bad system call.  */
+#define        SIGXCPU         12      /* CPU limit exceeded (4.2 BSD).  */
 #define        SIGPIPE         13      /* Broken pipe (POSIX).  */
 #define        SIGALRM         14      /* Alarm clock (POSIX).  */
 #define        SIGTERM         15      /* Termination (ANSI).  */
 #define        SIGTTIN         27      /* Background read from tty (POSIX).  */
 #define        SIGTTOU         28      /* Background write to tty (POSIX).  */
 #define        SIGURG          29      /* Urgent condition on socket (4.2 BSD).  */
-#define SIGLOST                30      /* Operating System Has Lost (HP/UX). */
+#define        SIGXFSZ         30      /* File size limit exceeded (4.2 BSD).  */
+#define SIGSYS         31      /* Bad system call.  */
 #define SIGUNUSED      31
-#define        SIGXCPU         33      /* CPU limit exceeded (4.2 BSD).  */
-#define        SIGXFSZ         34      /* File size limit exceeded (4.2 BSD).  */
-#define        SIGSTKFLT       36      /* Stack fault.  */
 
 #define        _NSIG           65      /* Biggest signal number + 1
                                   (including real-time signals).  */
 
 /* These are the hard limits of the kernel.  These values should not be
    used directly at user level.  */
-#define __SIGRTMIN     37
+/* In the Linux kernel version 3.17, and glibc 2.21, the signal numbers
+   were rearranged in order to make hppa like every other arch. Previously
+   we started __SIGRTMIN at 37, and that meant several pieces of important
+   software, including systemd, would fail to build. To support systemd we
+   removed SIGEMT and SIGLOST, and rearranged the others according to
+   expected values. This is technically an ABI incompatible change, but
+   because zero applications use SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS
+   nothing broke.  Nothing uses SIGEMT and SIGLOST, and they were present
+   for HPUX compatibility which is no longer supported.  Thus because
+   nothing breaks we don't do any compatibility work here.  */
+#define __SIGRTMIN     32      /* Kernel > 3.17.  */
 #define __SIGRTMAX     (_NSIG - 1)
 
 #endif /* <signal.h> included.  */