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>
This commit is contained in:
Adhemerval Zanella 2020-04-22 11:02:11 -03:00
parent 6caddd34bd
commit e4e11b1dba
18 changed files with 461 additions and 374 deletions

59
bits/signum-arch.h Normal file
View File

@ -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

View File

@ -57,31 +57,9 @@
#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)

View File

@ -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. */

View 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 \

View 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>

View File

@ -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

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View 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 */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */