aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2018-04-28 13:13:43 +0200
committerFangrui Song <i@maskray.me>2021-08-27 16:22:08 -0700
commitb88e5137e6d91bc721a5f9402e5f80c6189e6f30 (patch)
tree504ce79eeb8b4f46e4ff513ae4864139a9de6741
parent80153017d11b05c6d511951e19379a5942ee6b46 (diff)
downloadglibc-b88e5137e6d91bc721a5f9402e5f80c6189e6f30.zip
glibc-b88e5137e6d91bc721a5f9402e5f80c6189e6f30.tar.gz
glibc-b88e5137e6d91bc721a5f9402e5f80c6189e6f30.tar.bz2
RISC-V: fix struct kernel_sigaction to match the kernel version [BZ #23069]
The RISC-V kernel doesn't define SA_RESTORER, hence the kernel version of struct sigaction doesn't have the sa_restorer field. The default kernel_sigaction.h therefore can't be used. This patch adds a RISC-V specific version of kernel_sigaction.h to fix the issue. This fixes for example the libnih testsuite. Note that this patch is not needed in master as the bug has been fixed by commit b4a5d26d8835 ("linux: Consolidate sigaction implementation").
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h7
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 536fcf1..17e6719 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-28 Aurelien Jarno <aurelien@aurel32.net>
+
+ [BZ #23069]
+ * sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file.
+
2018-03-29 Florian Weimer <fweimer@redhat.com>
* sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also
diff --git a/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
new file mode 100644
index 0000000..2a62bcc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
@@ -0,0 +1,7 @@
+/* This is the sigaction structure from the RISC-V Linux 4.15 kernel. */
+
+struct kernel_sigaction {
+ __sighandler_t k_sa_handler;
+ unsigned long sa_flags;
+ sigset_t sa_mask;
+};