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