about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/hppa/bits
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-04-22 11:02:11 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-07-07 14:10:58 -0300
commite4e11b1dba261cb650e631978622bf3b4a4d8c37 (patch)
tree41a98016f1a62f0c35beb5df160c89707af1a02e /sysdeps/unix/sysv/linux/hppa/bits
parent6caddd34bd7ffb5ac4f36c8e036eee100c2cc535 (diff)
downloadglibc-e4e11b1dba261cb650e631978622bf3b4a4d8c37.tar.gz
glibc-e4e11b1dba261cb650e631978622bf3b4a4d8c37.tar.xz
glibc-e4e11b1dba261cb650e631978622bf3b4a4d8c37.zip
signal: Add signum-{generic,arch}.h
It refactor how signals are defined by each architecture.  Instead of
include a generic header (bits/signum-generic.h) and undef non-default
values in an arch specific header (bits/signum.h) the new scheme uses a
common definition (bits/signum-generic.h) and each architectures add
its specific definitions on a new header (bits/signum-arch.h).

For Linux it requires copy some system default definitions to alpha,
hppa, and sparc.  They are historical values and newer ports uses
the generic Linux signum-arch.h.

For Hurd the BSD signum is removed and moved to a new header (it is
used currently only on Hurd).

Checked on a build against all affected ABIs.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/bits')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h69
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/signum.h75
2 files changed, 69 insertions, 75 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h b/sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h
new file mode 100644
index 0000000000..364e57ec4a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h
@@ -0,0 +1,69 @@
+/* Signal number definitions.  Linux/HPPA version.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGNUM_ARCH_H
+#define _BITS_SIGNUM_ARCH_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
+#endif
+
+/* Adjustments and additions to the signal number constants for
+   Linux/HPPA.  These values were originally chosen for HP/UX
+   compatibility, but were renumbered as of kernel 3.17 and glibc 2.21
+   to accommodate software (notably systemd) that assumed at least 29
+   real-time signal numbers would be available.  SIGEMT and SIGLOST
+   were removed, and the values of SIGSTKFLT, SIGXCPU, XIGXFSZ, and
+   SIGSYS were changed, enabling __SIGRTMIN to be 32.  */
+
+#define SIGSTKFLT	 7	/* Stack fault (obsolete).  */
+#define SIGPWR		19	/* Power failure imminent.  */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS		10	/* Bus error.  */
+#define SIGSYS		31	/* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG		29	/* Urgent data is available at a socket.  */
+#define SIGSTOP		24	/* Stop, unblockable.  */
+#define SIGTSTP		25	/* Keyboard stop.  */
+#define SIGCONT		26	/* Continue.  */
+#define SIGCHLD		18	/* Child terminated or stopped.  */
+#define SIGTTIN		27	/* Background read from control terminal.  */
+#define SIGTTOU		28	/* Background write to control terminal.  */
+#define SIGPOLL		22	/* Pollable event occurred (System V).  */
+#define SIGXCPU		12	/* CPU time limit exceeded.  */
+#define SIGVTALRM	20	/* Virtual timer expired.  */
+#define SIGPROF		21	/* Profiling timer expired.  */
+#define SIGXFSZ		30	/* File size limit exceeded.  */
+#define SIGUSR1		16	/* User-defined signal 1.  */
+#define SIGUSR2		17	/* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH	23	/* Window size change (4.3 BSD, Sun).  */
+
+/* Archaic names for compatibility.  */
+#define SIGIO		SIGPOLL	/* I/O now possible (4.2 BSD).  */
+#define SIGIOT		SIGABRT	/* IOT instruction, abort() on a PDP-11.  */
+#define SIGCLD		SIGCHLD	/* Old System V name */
+
+#define __SIGRTMIN	32
+#define __SIGRTMAX	64
+
+#endif	/* <signal.h> included.  */
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/signum.h b/sysdeps/unix/sysv/linux/hppa/bits/signum.h
deleted file mode 100644
index 2210304e37..0000000000
--- a/sysdeps/unix/sysv/linux/hppa/bits/signum.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Signal number definitions.  Linux/HPPA version.
-   Copyright (C) 1995-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_SIGNUM_H
-#define _BITS_SIGNUM_H 1
-
-#ifndef _SIGNAL_H
-#error "Never include <bits/signum.h> directly; use <signal.h> instead."
-#endif
-
-#include <bits/signum-generic.h>
-
-/* Adjustments and additions to the signal number constants for
-   Linux/HPPA.  These values were originally chosen for HP/UX
-   compatibility, but were renumbered as of kernel 3.17 and glibc 2.21
-   to accommodate software (notably systemd) that assumed at least 29
-   real-time signal numbers would be available.  SIGEMT and SIGLOST
-   were removed, and the values of SIGSTKFLT, SIGXCPU, XIGXFSZ, and
-   SIGSYS were changed, enabling __SIGRTMIN to be 32.  */
-
-#define	SIGSTKFLT	 7	/* Stack fault (obsolete).  */
-#define	SIGPWR		19	/* Power failure imminent.  */
-
-#undef	SIGXCPU
-#define	SIGXCPU		12
-#undef	SIGUSR1
-#define	SIGUSR1		16
-#undef	SIGUSR2
-#define SIGUSR2		17
-#undef	SIGCHLD
-#define	SIGCHLD		18
-#undef	SIGVTALRM
-#define	SIGVTALRM	20
-#undef	SIGPROF
-#define	SIGPROF		21
-#undef	SIGPOLL
-#define	SIGPOLL		22
-#undef	SIGWINCH
-#define	SIGWINCH	23
-#undef	SIGSTOP
-#define	SIGSTOP		24
-#undef	SIGTSTP
-#define	SIGTSTP		25
-#undef	SIGCONT
-#define	SIGCONT		26
-#undef	SIGTTIN
-#define	SIGTTIN		27
-#undef	SIGTTOU
-#define	SIGTTOU		28
-#undef	SIGURG
-#define	SIGURG		29
-#undef	SIGXFSZ
-#define	SIGXFSZ		30
-#undef	SIGSYS
-#define SIGSYS		31
-
-#undef	__SIGRTMAX
-#define __SIGRTMAX	64
-
-#endif	/* <signal.h> included.  */