diff options
Diffstat (limited to 'sim/testsuite/sim/cris/c/sig2.c')
-rw-r--r-- | sim/testsuite/sim/cris/c/sig2.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/sim/testsuite/sim/cris/c/sig2.c b/sim/testsuite/sim/cris/c/sig2.c new file mode 100644 index 00000000000..65596ef2eea --- /dev/null +++ b/sim/testsuite/sim/cris/c/sig2.c @@ -0,0 +1,32 @@ +/* +#notarget: cris*-*-elf +*/ + +#include <stdio.h> +#include <signal.h> +#include <stdlib.h> + +/* Like sig1.c, but using sigaction. */ + +void +leave (int n, siginfo_t *info, void *x) +{ + abort (); +} + +int +main (void) +{ + struct sigaction sa; + sa.sa_sigaction = leave; + sa.sa_flags = SA_RESTART | SA_SIGINFO; + sigemptyset (&sa.sa_mask); + + /* Check that the sigaction syscall (for signal) is interpreted, though + possibly ignored. */ + if (sigaction (SIGFPE, &sa, NULL) != 0) + abort (); + + printf ("pass\n"); + exit (0); +} |