diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-12-11 17:16:36 -0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-12-18 19:52:23 -0200 |
commit | 64dd7a16305441a7d6ed752c192c68b6c2a54ca5 (patch) | |
tree | 12781dc250a3227f4ed1454a3002da5054247d4d /sysdeps/unix | |
parent | 8b1d5da56601ba7e59340dda235a6f3dbaa98ec9 (diff) | |
download | glibc-64dd7a16305441a7d6ed752c192c68b6c2a54ca5.tar.gz glibc-64dd7a16305441a7d6ed752c192c68b6c2a54ca5.tar.xz glibc-64dd7a16305441a7d6ed752c192c68b6c2a54ca5.zip |
s390: Use generic kernel_sigaction.h
S390 kernel sigaction is the same as the Linux generic one. Checked with a s390-linux-gnu and s390x-linux-gnu build. * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic kernel_sigction definition.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/kernel_sigaction.h | 29 |
1 files changed, 3 insertions, 26 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h b/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h index 7a6a2c4f29..041b763251 100644 --- a/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h +++ b/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h @@ -1,32 +1,9 @@ -#include <bits/types/siginfo_t.h> - +/* S390 uses the generic Linux UAPI but defines SA_RESTORER. */ #define SA_RESTORER 0x04000000 -/* This is the sigaction structure from the Linux 3.2 kernel. */ -struct kernel_sigaction -{ - union - { - __sighandler_t _sa_handler; - void (*_sa_sigaction)(int, siginfo_t *, void *); - } _u; -#define k_sa_handler _u._sa_handler - /* The 'struct sigaction' definition in s390 kernel header - arch/s390/include/uapi/asm/signal.h is used for __NR_rt_sigaction - on 64 bits and for __NR_sigaction for 31 bits. - - The expected layout for __NR_rt_sigaction for 31 bits is either - 'struct sigaction' from include/linux/signal_types.h or - 'struct compat_sigaction' from include/linux/compat.h. - - So for __NR_rt_sigaction we can use the same layout for both s390x - and s390. */ - unsigned long sa_flags; - void (*sa_restorer)(void); - sigset_t sa_mask; -}; - #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> |