[5/5] s390: Use generic kernel_sigaction.h
Commit Message
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(-)
Comments
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
>
@@ -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