On Mon, Apr 16, 2018 at 10:41:32PM +0200, Aurelien Jarno wrote: > 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 | 5 +++++ > sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h | 7 +++++++ > 2 files changed, 12 insertions(+) > create mode 100644 sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h > > diff --git a/ChangeLog b/ChangeLog > index 536fcf1c4f..f365475a47 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,8 @@ > +2018-04-16 Aurelien Jarno > + > + [BZ #23069] > + * sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file. > + > 2018-03-29 Florian Weimer > > * 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 0000000000..2a62bcc5bc > --- /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; > +}; I think this is OK given that b4a5d26d8835 cannot be easily backported to 2.27. -- ldv