diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-12-11 16:52:47 -0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-12-18 16:45:10 -0200 |
commit | 43a45c2d829f164c1fb94d5f44afe326fae946e1 (patch) | |
tree | 430564cae718b29a271d1a6a4f01d0581405c6d1 /sysdeps/unix/sysv/linux/powerpc | |
parent | 646ce7e0be9218f644ab50681b4d5a13d1050dd4 (diff) | |
download | glibc-43a45c2d829f164c1fb94d5f44afe326fae946e1.tar glibc-43a45c2d829f164c1fb94d5f44afe326fae946e1.tar.gz glibc-43a45c2d829f164c1fb94d5f44afe326fae946e1.tar.bz2 glibc-43a45c2d829f164c1fb94d5f44afe326fae946e1.zip |
m68k: Fix sigaction kernel definition (BZ #23960)
Commit b4a5d26d883 (linux: Consolidate sigaction implementation) added
a wrong kernel_sigaction definition for m68k, meant for __NR_sigaction
instead of __NR_rt_sigaction as used on generic Linux sigaction
implementation. This patch fixes it by using the Linux generic
definition meant for the RT kernel ABI.
Checked the signal tests on emulated m68-linux-gnu (Aranym). It fixes
the faulty signal/tst-sigaction and man works as expected.
Adhemerval Zanella <adhemerval.zanella@linaro.org>
James Clarke <jrtc27@jrtc27.com>
[BZ #23960]
* sysdeps/unix/sysv/linux/kernel_sigaction.h (HAS_SA_RESTORER):
Define if SA_RESTORER is defined.
(kernel_sigaction): Define sa_restorer if HAS_SA_RESTORER is defined.
(SET_SA_RESTORER, RESET_SA_RESTORER): Define iff the macro are not
already defined.
* sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h (SA_RESTORER,
kernel_sigaction, SET_SA_RESTORER, RESET_SA_RESTORER): Remove
definitions.
(HAS_SA_RESTORER): Define.
* sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h (SA_RESTORER,
SET_SA_RESTORER, RESET_SA_RESTORER): Remove definition.
(HAS_SA_RESTORER): Define.
* sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Include generic
kernel_sigaction after define SET_SA_RESTORER and RESET_SA_RESTORER.
* sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h b/sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h index aef3d5a3b3..bac03ee45d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h +++ b/sysdeps/unix/sysv/linux/powerpc/kernel_sigaction.h @@ -1,9 +1,10 @@ /* powerpc kernel sigaction is similar to generic Linux UAPI one, but the architecture also defines SA_RESTORER. */ #define SA_RESTORER 0x04000000 -#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> #define SET_SA_RESTORER(kact, act) \ (kact)->sa_restorer = (act)->sa_restorer #define RESET_SA_RESTORER(act, kact) \ (act)->sa_restorer = (kact)->sa_restorer + +#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> |