aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2014-10-23 23:14:12 -0400
committerCarlos O'Donell <carlos@redhat.com>2014-10-23 23:18:19 -0400
commit13d845549e41823e6658122dcf268154bcbbcfde (patch)
tree286e077c4f267d0c18bcb908fc36fe19bad90ca2 /sysdeps
parent15f9c5dfaf999cfc53080b6ab2422935a6becf8e (diff)
downloadglibc-13d845549e41823e6658122dcf268154bcbbcfde.tar
glibc-13d845549e41823e6658122dcf268154bcbbcfde.tar.gz
glibc-13d845549e41823e6658122dcf268154bcbbcfde.tar.bz2
glibc-13d845549e41823e6658122dcf268154bcbbcfde.zip
hppa: Make __SIGRTMIN 32 (ABI break).
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.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/signum.h22
1 files changed, 15 insertions, 7 deletions
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. */