]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
s390: Use generic kernel_sigaction.h
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 11 Dec 2018 19:16:36 +0000 (17:16 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 18 Dec 2018 21:52:23 +0000 (19:52 -0200)
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
sysdeps/unix/sysv/linux/s390/kernel_sigaction.h

index 4abe516e047679e950996f75f29a60670237e209..1e555377d279aa33183734ec086fe67ef6155ba2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-12-18  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic
+       kernel_sigction definition.
+
        * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: Remove file.
 
        * sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: Remove file.
index 7a6a2c4f2919c28d070916b731c3e6452f439a4e..041b763251ea2666931d81096920b837744cfaf8 100644 (file)
@@ -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>