aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-12-11 17:16:36 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-12-18 19:52:23 -0200
commit64dd7a16305441a7d6ed752c192c68b6c2a54ca5 (patch)
tree12781dc250a3227f4ed1454a3002da5054247d4d
parentia64: Remove kernel_sigaction.h (diff)
downloadglibc-64dd7a16305441a7d6ed752c192c68b6c2a54ca5.tar.gz
glibc-64dd7a16305441a7d6ed752c192c68b6c2a54ca5.tar.bz2
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.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/s390/kernel_sigaction.h29
2 files changed, 6 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 4abe516e04..1e555377d2 100644
--- 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.
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>