diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-04-22 11:02:11 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-07 14:10:58 -0300 |
commit | e4e11b1dba261cb650e631978622bf3b4a4d8c37 (patch) | |
tree | 41a98016f1a62f0c35beb5df160c89707af1a02e | |
parent | 6caddd34bd7ffb5ac4f36c8e036eee100c2cc535 (diff) | |
download | glibc-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>
-rw-r--r-- | bits/signum-arch.h | 59 | ||||
-rw-r--r-- | bits/signum-generic.h | 27 | ||||
-rw-r--r-- | bits/signum.h | 32 | ||||
-rw-r--r-- | signal/Makefile | 2 | ||||
-rw-r--r-- | signal/signal.h | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/signum-arch.h | 65 | ||||
-rw-r--r-- | sysdeps/unix/bsd/bits/signum.h | 35 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h | 67 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/signum.h | 40 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/signum-arch.h | 64 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/signum.h | 58 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/bits/signum-arch.h | 69 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/bits/signum.h | 75 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/vfork.S | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/bits/signum-arch.h | 65 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/bits/signum.h | 68 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h | 66 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/signum.h | 39 |
18 files changed, 461 insertions, 374 deletions
diff --git a/bits/signum-arch.h b/bits/signum-arch.h new file mode 100644 index 0000000000..abecff2345 --- /dev/null +++ b/bits/signum-arch.h @@ -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 diff --git a/bits/signum-generic.h b/bits/signum-generic.h index 504e5fb8c8..67131853c2 100644 --- a/bits/signum-generic.h +++ b/bits/signum-generic.h @@ -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) diff --git a/bits/signum.h b/bits/signum.h deleted file mode 100644 index 183e3c0545..0000000000 --- a/bits/signum.h +++ /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. */ diff --git a/signal/Makefile b/signal/Makefile index f3c19e2992..2ec3ddd74f 100644 --- a/signal/Makefile +++ b/signal/Makefile @@ -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 \ diff --git a/signal/signal.h b/signal/signal.h index 2c57f90e20..db325bde16 100644 --- a/signal/signal.h +++ b/signal/signal.h @@ -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 index 0000000000..bfcb37a47c --- /dev/null +++ b/sysdeps/mach/hurd/bits/signum-arch.h @@ -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 index a8d47af038..0000000000 --- a/sysdeps/unix/bsd/bits/signum.h +++ /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 index 0000000000..47200d7337 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/bits/signum-arch.h @@ -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 index 63add0e3db..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/bits/signum.h +++ /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 index 0000000000..de5ee4af14 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/signum-arch.h @@ -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 index 423fd8be70..0000000000 --- a/sysdeps/unix/sysv/linux/bits/signum.h +++ /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 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. */ diff --git a/sysdeps/unix/sysv/linux/ia64/vfork.S b/sysdeps/unix/sysv/linux/ia64/vfork.S index a8ceea8ea7..843bf7683c 100644 --- a/sysdeps/unix/sysv/linux/ia64/vfork.S +++ b/sysdeps/unix/sysv/linux/ia64/vfork.S @@ -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 index 0000000000..c500d38322 --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/bits/signum-arch.h @@ -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 index f5a5e7b4cd..0000000000 --- a/sysdeps/unix/sysv/linux/mips/bits/signum.h +++ /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 index 0000000000..0cece9a6c4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/bits/signum-arch.h @@ -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 index 40fb39a435..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/bits/signum.h +++ /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. */ |