Dmitry V. Levin
d852b31a8b
On some architectures old sigsuspend syscall takes the signal mask from the 3rd argument, on some from the 1st. And, if it wasn't peculiar enough, the signal mask is passed by value on all architectures except mips where it's passed by reference. * signal.c (SYS_FUNC(sigsuspend)): Take the signal mask from the last argument. * linux/alpha/syscallent.h (sigsuspend): Set nargs to 1. * linux/crisv10/syscallent.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * tests/sigsuspend.c: New file. * tests/gen_tests.in (sigsuspend): New entry. * tests/pure_executables.list: Add sigsuspend. * tests/.gitignore: Likewise. * NEWS: Mention this fix.