diff options
Diffstat (limited to 'sim/testsuite/cris/c/sigreturn1.c')
-rw-r--r-- | sim/testsuite/cris/c/sigreturn1.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sim/testsuite/cris/c/sigreturn1.c b/sim/testsuite/cris/c/sigreturn1.c new file mode 100644 index 00000000000..40fc852f36c --- /dev/null +++ b/sim/testsuite/cris/c/sigreturn1.c @@ -0,0 +1,21 @@ +/* Test that TRT happens for spurious sigreturn calls. Single-thread. +#notarget: cris*-*-elf +#xerror: +#output: Invalid sigreturn syscall: no signal handler active (0x1, 0x2, 0x3, 0x4, 0x5, 0x6)\n +#output: program stopped with signal 4 (*).\n +*/ + +#include <unistd.h> +#include <sys/syscall.h> +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> + +int main (void) +{ + int err = syscall (SYS_sigreturn, 1, 2, 3, 4, 5, 6); + if (err == -1 && errno == ENOSYS) + printf ("ENOSYS\n"); + printf ("xyzzy\n"); + exit (0); +} |