]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
RISC-V: fix struct kernel_sigaction to match the kernel version [BZ #23069]
authorAurelien Jarno <aurelien@aurel32.net>
Sat, 28 Apr 2018 11:13:43 +0000 (13:13 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Sat, 28 Apr 2018 11:17:00 +0000 (13:17 +0200)
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").

ChangeLog
sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h [new file with mode: 0644]

index 536fcf1c4f264d75acef1635ffe57f66823c6982..17e67190ec9ac6717456db2b7400334d9660a70f 100644 (file)
--- 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 (file)
index 0000000..2a62bcc
--- /dev/null
@@ -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;
+};