signal: Add signum-{generic,arch}.h
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 22 Apr 2020 14:02:11 +0000 (11:02 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 7 Jul 2020 17:10:58 +0000 (14:10 -0300)
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>
18 files changed:
bits/signum-arch.h [new file with mode: 0644]
bits/signum-generic.h
bits/signum.h [deleted file]
signal/Makefile
signal/signal.h
sysdeps/mach/hurd/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/bsd/bits/signum.h [deleted file]
sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/bits/signum.h [deleted file]
sysdeps/unix/sysv/linux/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/bits/signum.h [deleted file]
sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/bits/signum.h [deleted file]
sysdeps/unix/sysv/linux/ia64/vfork.S
sysdeps/unix/sysv/linux/mips/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/bits/signum.h [deleted file]
sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/bits/signum.h [deleted file]

diff --git a/bits/signum-arch.h b/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..abecff2
--- /dev/null
@@ -0,0 +1,59 @@
+/* Signal number constants.  Specific architecture definitions.
+   Copyright (C) 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-generic.h> directly; use <signal.h> instead."
+#endif
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS         10      /* Bus error.  */
+#define SIGSYS         12      /* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         16      /* Urgent data is available at a socket.  */
+#define SIGSTOP                17      /* Stop, unblockable.  */
+#define SIGTSTP                18      /* Keyboard stop.  */
+#define SIGCONT                19      /* Continue.  */
+#define SIGCHLD                20      /* Child terminated or stopped.  */
+#define SIGTTIN                21      /* Background read from control terminal.  */
+#define SIGTTOU                22      /* Background write to control terminal.  */
+#define SIGPOLL                23      /* Pollable event occurred (System V).  */
+#define SIGXCPU                24      /* CPU time limit exceeded.  */
+#define SIGVTALRM      26      /* Virtual timer expired.  */
+#define SIGPROF                27      /* Profiling timer expired.  */
+#define SIGXFSZ                25      /* File size limit exceeded.  */
+#define SIGUSR1                30      /* User-defined signal 1.  */
+#define SIGUSR2                31      /* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH       28      /* 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 */
+
+/* By default no real-time signals are supported.  */
+#define __SIGRTMIN     32
+#define __SIGRTMAX     __SIGRTMIN
+
+#endif
index 504e5fb..6713185 100644 (file)
 #define        SIGQUIT         3       /* Quit.  */
 #define        SIGTRAP         5       /* Trace/breakpoint trap.  */
 #define        SIGKILL         9       /* Killed.  */
-#define SIGBUS         10      /* Bus error.  */
-#define        SIGSYS          12      /* Bad system call.  */
 #define        SIGPIPE         13      /* Broken pipe.  */
 #define        SIGALRM         14      /* Alarm clock.  */
 
-/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
-#define        SIGURG          16      /* Urgent data is available at a socket.  */
-#define        SIGSTOP         17      /* Stop, unblockable.  */
-#define        SIGTSTP         18      /* Keyboard stop.  */
-#define        SIGCONT         19      /* Continue.  */
-#define        SIGCHLD         20      /* Child terminated or stopped.  */
-#define        SIGTTIN         21      /* Background read from control terminal.  */
-#define        SIGTTOU         22      /* Background write to control terminal.  */
-#define        SIGPOLL         23      /* Pollable event occurred (System V).  */
-#define        SIGXCPU         24      /* CPU time limit exceeded.  */
-#define        SIGXFSZ         25      /* File size limit exceeded.  */
-#define        SIGVTALRM       26      /* Virtual timer expired.  */
-#define        SIGPROF         27      /* Profiling timer expired.  */
-#define        SIGUSR1         30      /* User-defined signal 1.  */
-#define        SIGUSR2         31      /* User-defined signal 2.  */
-
-/* Nonstandard signals found in all modern POSIX systems
-   (including both BSD and Linux).  */
-#define        SIGWINCH        28      /* 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.  */
@@ -93,8 +71,9 @@
    but some real-time signals may be used internally by glibc.  Do not
    use these constants in application code; use SIGRTMIN and SIGRTMAX
    (defined in signal.h) instead.  */
-#define __SIGRTMIN     32
-#define __SIGRTMAX     __SIGRTMIN
+
+/* Include system specific bits.  */
+#include <bits/signum-arch.h>
 
 /* Biggest signal number + 1 (including real-time signals).  */
 #define _NSIG          (__SIGRTMAX + 1)
diff --git a/bits/signum.h b/bits/signum.h
deleted file mode 100644 (file)
index 183e3c0..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Signal number constants.  Generic version.
-   Copyright (C) 2017-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>
-
-/* This operating system does not need to override any of the generic
-   signal number assignments in bits/signum-generic.h, nor to add any
-   additional signal constants.  */
-
-#endif /* bits/signum.h.  */
index f3c19e2..2ec3ddd 100644 (file)
@@ -23,7 +23,7 @@ subdir        := signal
 include ../Makeconfig
 
 headers := signal.h sys/signal.h \
-          bits/signum.h bits/signum-generic.h \
+          bits/signum-generic.h bits/signum-arch.h \
           bits/sigcontext.h bits/sigaction.h \
           bits/sigevent-consts.h bits/siginfo-consts.h \
           bits/sigstack.h bits/sigthread.h bits/ss_flags.h \
index 2c57f90..db325bd 100644 (file)
@@ -27,7 +27,7 @@
 __BEGIN_DECLS
 
 #include <bits/types.h>
-#include <bits/signum.h>
+#include <bits/signum-generic.h>
 
 #include <bits/types/sig_atomic_t.h>
 
diff --git a/sysdeps/mach/hurd/bits/signum-arch.h b/sysdeps/mach/hurd/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..bfcb37a
--- /dev/null
@@ -0,0 +1,65 @@
+/* Signal number constants.  Specific architecture definitions.
+   Copyright (C) 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
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS         10      /* Bus error.  */
+#define        SIGSYS          12      /* Bad system call.  */
+
+/* Adjustments and additions to the signal number constants for
+   4.2 or 4.3 BSD-derived Unix systems.  */
+#define SIGEMT         7       /* Emulator trap (4.2 BSD).  */
+#define SIGINFO                29      /* Information request (4.4 BSD).  */
+#define SIGLOST                32      /* Resource lost (Sun); server died (GNU).  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         16      /* Urgent data is available at a socket.  */
+#define SIGSTOP                17      /* Stop, unblockable.  */
+#define SIGTSTP                18      /* Keyboard stop.  */
+#define SIGCONT                19      /* Continue.  */
+#define SIGCHLD                20      /* Child terminated or stopped.  */
+#define SIGTTIN                21      /* Background read from control terminal.  */
+#define SIGTTOU                22      /* Background write to control terminal.  */
+#define SIGPOLL                23      /* Pollable event occurred (System V).  */
+#define SIGXCPU                24      /* CPU time limit exceeded.  */
+#define SIGVTALRM      26      /* Virtual timer expired.  */
+#define SIGPROF                27      /* Profiling timer expired.  */
+#define SIGXFSZ                25      /* File size limit exceeded.  */
+#define SIGUSR1                30      /* User-defined signal 1.  */
+#define SIGUSR2                31      /* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH       28      /* 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 */
+
+/* No real-time signals are supported.  */
+#define __SIGRTMIN     32
+#define __SIGRTMAX     __SIGRTMIN
+
+#endif
diff --git a/sysdeps/unix/bsd/bits/signum.h b/sysdeps/unix/bsd/bits/signum.h
deleted file mode 100644 (file)
index a8d47af..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Signal number definitions.  BSD version.
-   Copyright (C) 1991-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
-   4.2 or 4.3 BSD-derived Unix systems.  */
-
-#define SIGEMT          7      /* Emulator trap (4.2 BSD).  */
-#define SIGINFO                29      /* Information request (4.4 BSD).  */
-#define SIGLOST                32      /* Resource lost (Sun); server died (GNU).  */
-
-#endif /* bits/signum.h.  */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h b/sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..47200d7
--- /dev/null
@@ -0,0 +1,67 @@
+/* Signal number definitions.  Linux/Alpha version.
+   Copyright (C) 1996-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/Alpha.  Signal values on this platform were chosen for OSF/1
+   binary compatibility, and are therefore almost identical to the
+   BSD-derived defaults.  */
+
+#define SIGEMT          7      /* Emulator trap (4.2 BSD).  */
+#define SIGINFO                29      /* Information request (BSD).  */
+#define SIGPWR         SIGINFO /* Power failure imminent (System V).  */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS         10      /* Bus error.  */
+#define SIGSYS         12      /* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         16      /* Urgent data is available at a socket.  */
+#define SIGSTOP                17      /* Stop, unblockable.  */
+#define SIGTSTP                18      /* Keyboard stop.  */
+#define SIGCONT                19      /* Continue.  */
+#define SIGCHLD                20      /* Child terminated or stopped.  */
+#define SIGTTIN                21      /* Background read from control terminal.  */
+#define SIGTTOU                22      /* Background write to control terminal.  */
+#define SIGPOLL                23      /* Pollable event occurred (System V).  */
+#define SIGXCPU                24      /* CPU time limit exceeded.  */
+#define SIGVTALRM      26      /* Virtual timer expired.  */
+#define SIGPROF                27      /* Profiling timer expired.  */
+#define SIGXFSZ                25      /* File size limit exceeded.  */
+#define SIGUSR1                30      /* User-defined signal 1.  */
+#define SIGUSR2                31      /* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH       28
+
+/* 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/alpha/bits/signum.h b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
deleted file mode 100644 (file)
index 63add0e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Signal number definitions.  Linux/Alpha version.
-   Copyright (C) 1996-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/Alpha.  Signal values on this platform were chosen for OSF/1
-   binary compatibility, and are therefore almost identical to the
-   BSD-derived defaults.  */
-
-#define SIGEMT          7      /* Emulator trap (4.2 BSD).  */
-#define SIGINFO                29      /* Information request (BSD).  */
-#define SIGPWR         SIGINFO /* Power failure imminent (System V).  */
-
-#undef __SIGRTMAX
-#define __SIGRTMAX     64
-
-#endif /* <signal.h> included.  */
diff --git a/sysdeps/unix/sysv/linux/bits/signum-arch.h b/sysdeps/unix/sysv/linux/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..de5ee4a
--- /dev/null
@@ -0,0 +1,64 @@
+/* Signal number definitions.  Linux 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
+   most Linux systems.  */
+
+#define SIGSTKFLT      16      /* Stack fault (obsolete).  */
+#define SIGPWR         30      /* Power failure imminent.  */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS          7      /* Bus error.  */
+#define SIGSYS         31      /* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         23      /* Urgent data is available at a socket.  */
+#define SIGSTOP                19      /* Stop, unblockable.  */
+#define SIGTSTP                20      /* Keyboard stop.  */
+#define SIGCONT                18      /* Continue.  */
+#define SIGCHLD                17      /* Child terminated or stopped.  */
+#define SIGTTIN                21      /* Background read from control terminal.  */
+#define SIGTTOU                22      /* Background write to control terminal.  */
+#define SIGPOLL                29      /* Pollable event occurred (System V).  */
+#define SIGXFSZ                25      /* File size limit exceeded.  */
+#define SIGXCPU                24      /* CPU time limit exceeded.  */
+#define SIGVTALRM      26      /* Virtual timer expired.  */
+#define SIGPROF                27      /* Profiling timer expired.  */
+#define SIGUSR1                10      /* User-defined signal 1.  */
+#define SIGUSR2                12      /* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH       28      /* 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/bits/signum.h b/sysdeps/unix/sysv/linux/bits/signum.h
deleted file mode 100644 (file)
index 423fd8b..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Signal number definitions.  Linux 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
-   most Linux systems.  */
-
-#define        SIGSTKFLT       16      /* Stack fault (obsolete).  */
-#define        SIGPWR          30      /* Power failure imminent.  */
-
-#undef SIGBUS
-#define        SIGBUS           7
-#undef SIGUSR1
-#define        SIGUSR1         10
-#undef SIGUSR2
-#define        SIGUSR2         12
-#undef SIGCHLD
-#define        SIGCHLD         17
-#undef SIGCONT
-#define        SIGCONT         18
-#undef SIGSTOP
-#define        SIGSTOP         19
-#undef SIGTSTP
-#define        SIGTSTP         20
-#undef SIGURG
-#define        SIGURG          23
-#undef SIGPOLL
-#define        SIGPOLL         29
-#undef SIGSYS
-#define SIGSYS         31
-
-#undef __SIGRTMAX
-#define __SIGRTMAX     64
-
-#endif /* <signal.h> included.  */
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 (file)
index 0000000..364e57e
--- /dev/null
@@ -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 (file)
index 2210304..0000000
+++ /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.  */
index a8ceea8..843bf76 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <sysdep.h>
 #define _SIGNAL_H
-#include <bits/signum.h>
+#include <bits/signum-arch.h>
 #include <tcb-offsets.h>
 
 /* The following are defined in linux/sched.h, which unfortunately     */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/signum-arch.h b/sysdeps/unix/sysv/linux/mips/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..c500d38
--- /dev/null
@@ -0,0 +1,65 @@
+/* Signal number definitions.  Linux/MIPS 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
+
+/* Adjustments and additions to the signal number constants for
+   Linux/MIPS.  */
+
+#define SIGEMT          7      /* Emulator trap.  */
+#define SIGPWR         19      /* Power failure imminent.  */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS         10      /* Bus error.  */
+#define SIGSYS         12      /* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         21      /* Urgent data is available at a socket.  */
+#define SIGSTOP                23      /* Stop, unblockable.  */
+#define SIGTSTP                24      /* Keyboard stop.  */
+#define SIGCONT                25      /* Continue.  */
+#define SIGCHLD                18      /* Child terminated or stopped.  */
+#define SIGTTIN                26      /* Background read from control terminal.  */
+#define SIGTTOU                27      /* Background write to control terminal.  */
+#define SIGPOLL                22      /* Pollable event occurred (System V).  */
+#define SIGXCPU                30      /* CPU time limit exceeded.  */
+#define SIGVTALRM      28      /* Virtual timer expired.  */
+#define SIGPROF                29      /* Profiling timer expired.  */
+#define SIGXFSZ                31      /* 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       20      /* 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 */
+
+/* By default no real-time signals are supported.  */
+#define __SIGRTMIN     32
+#define __SIGRTMAX     127
+
+#endif /* <signal.h> included.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/signum.h b/sysdeps/unix/sysv/linux/mips/bits/signum.h
deleted file mode 100644 (file)
index f5a5e7b..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Signal number definitions.  Linux/MIPS 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/MIPS.  */
-
-#define SIGEMT          7      /* Emulator trap.  */
-#define SIGPWR         19      /* Power failure imminent.  */
-
-#undef SIGUSR1
-#define SIGUSR1                16
-#undef SIGUSR2
-#define SIGUSR2                17
-#undef SIGCHLD
-#define SIGCHLD                18
-#undef SIGWINCH
-#define SIGWINCH       20
-#undef SIGURG
-#define SIGURG         21
-#undef SIGPOLL
-#define SIGPOLL                22
-#undef SIGSTOP
-#define SIGSTOP                23
-#undef SIGTSTP
-#define SIGTSTP                24
-#undef SIGCONT
-#define SIGCONT                25
-#undef SIGTTIN
-#define SIGTTIN                26
-#undef SIGTTOU
-#define SIGTTOU                27
-#undef SIGVTALRM
-#define SIGVTALRM      28
-#undef SIGPROF
-#define SIGPROF                29
-#undef SIGXCPU
-#define SIGXCPU                30
-#undef SIGXFSZ
-#define SIGXFSZ                31
-
-#undef __SIGRTMAX
-#define __SIGRTMAX     127
-
-#endif /* <signal.h> included.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h b/sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h
new file mode 100644 (file)
index 0000000..0cece9a
--- /dev/null
@@ -0,0 +1,66 @@
+/* Signal number definitions.  Linux/SPARC version.
+   Copyright (C) 1996-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/SPARC systems.  Signal values on this platform were chosen
+   for SunOS binary compatibility.  */
+
+#define SIGEMT          7      /* Emulator trap.  */
+#define SIGLOST                29      /* Resource lost (Sun); server died (GNU).  */
+#define SIGPWR         SIGLOST /* Power failure imminent (SysV).  */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS         10      /* Bus error.  */
+#define SIGSYS         12      /* Bad system call.  */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
+#define SIGURG         16      /* Urgent data is available at a socket.  */
+#define SIGSTOP                17      /* Stop, unblockable.  */
+#define SIGTSTP                18      /* Keyboard stop.  */
+#define SIGCONT                19      /* Continue.  */
+#define SIGCHLD                20      /* Child terminated or stopped.  */
+#define SIGTTIN                21      /* Background read from control terminal.  */
+#define SIGTTOU                22      /* Background write to control terminal.  */
+#define SIGPOLL                23      /* Pollable event occurred (System V).  */
+#define SIGXCPU                24      /* CPU time limit exceeded.  */
+#define SIGVTALRM      26      /* Virtual timer expired.  */
+#define SIGPROF                27      /* Profiling timer expired.  */
+#define SIGXFSZ                25      /* File size limit exceeded.  */
+#define SIGUSR1                30      /* User-defined signal 1.  */
+#define SIGUSR2                31      /* User-defined signal 2.  */
+
+/* Nonstandard signals found in all modern POSIX systems
+   (including both BSD and Linux).  */
+#define SIGWINCH       28      /* 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/sparc/bits/signum.h b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
deleted file mode 100644 (file)
index 40fb39a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Signal number definitions.  Linux/SPARC version.
-   Copyright (C) 1996-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/SPARC systems.  Signal values on this platform were chosen
-   for SunOS binary compatibility.  */
-
-#define SIGEMT          7      /* Emulator trap.  */
-#define SIGLOST                29      /* Resource lost (Sun); server died (GNU).  */
-#define SIGPWR         SIGLOST /* Power failure imminent (SysV).  */
-
-#undef __SIGRTMAX
-#define __SIGRTMAX     64
-
-#endif /* <signal.h> included.  */