[5/5] s390: Use generic kernel_sigaction.h

Message ID 20181211195554.3377-5-adhemerval.zanella@linaro.org
State New
Headers show
Series
  • [1/5] m68k: Fix sigaction kernel definition (BZ #23960)
Related show

Commit Message

Adhemerval Zanella Dec. 11, 2018, 7:55 p.m.
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(-)

-- 
2.17.1

Comments

Adhemerval Zanella Dec. 18, 2018, 6:28 p.m. | #1
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

>

Patch

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