This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / sim / testsuite / sim / cris / c / sigreturn2.c
1 /* Check that TRT happens for spurious sigreturn calls.  Multiple threads.
2 #notarget: cris*-*-elf
3 #cc: additional_flags=-pthread
4 #xerror:
5 #output: Invalid sigreturn syscall: no signal handler active (0x1, 0x2, 0x3, 0x4, 0x5, 0x6)\n
6 #output: program stopped with signal 4.\n
7 */
8
9 #include <stdlib.h>
10 #include <stddef.h>
11 #include <stdio.h>
12 #include <unistd.h>
13 #include <pthread.h>
14 #include <sys/types.h>
15 #include <sys/syscall.h>
16 #include <signal.h>
17
18 static void *
19 process (void *arg)
20 {
21   while (1)
22     sched_yield ();
23   return NULL;
24 }
25
26 int main (void)
27 {
28   pthread_t th_a;
29   if (pthread_create (&th_a, NULL, process, (void *) "a") == 0)
30     syscall (SYS_sigreturn, 1, 2, 3, 4, 5, 6);
31   printf ("xyzzy\n");
32   exit (0);
33 }