about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--NEWS2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/signum.h22
3 files changed, 24 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d05492cd6..8afd75d50e 100644
--- 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 5850c4aa6e..13be62e8c7 100644
--- 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.
 
 Version 2.20
 
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/signum.h b/sysdeps/unix/sysv/linux/hppa/bits/signum.h
index 7f935c52a0..b05fee7609 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/signum.h
@@ -36,12 +36,12 @@
 #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).  */
@@ -61,11 +61,9 @@
 #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).  */
@@ -75,7 +73,17 @@
 
 /* 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.  */