Message ID | 20181211195554.3377-5-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/5] m68k: Fix sigaction kernel definition (BZ #23960) | expand |
I will commit this shortly if no one opposes it. On 11/12/2018 17:55, Adhemerval Zanella wrote: > 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. > --- > ChangeLog | 3 ++ > .../unix/sysv/linux/s390/kernel_sigaction.h | 28 ++----------------- > 2 files changed, 5 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..18000a62cc 100644 > --- a/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h > +++ b/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h > @@ -1,30 +1,6 @@ > -#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; > -}; > +#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> > > #define SET_SA_RESTORER(kact, act) \ > (kact)->sa_restorer = (act)->sa_restorer >
diff --git a/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h b/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h index 7a6a2c4f29..18000a62cc 100644 --- a/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h +++ b/sysdeps/unix/sysv/linux/s390/kernel_sigaction.h @@ -1,30 +1,6 @@ -#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; -}; +#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> #define SET_SA_RESTORER(kact, act) \ (kact)->sa_restorer = (act)->sa_restorer