aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/cris/c/sig7.c
blob: b939fb8a148a23965d9f0b48d3f134145f484865 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* Check unsupported case of sigaction syscall.
#progos: linux
#xerror:
#output: Unimplemented rt_sigaction syscall (0x8, 0x3df*\n
#output: program stopped with signal 4 (*).\n
*/
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <errno.h>

int
main (void)
{
  struct sigaction sa;
  int err;
  sa.sa_sigaction = NULL;
  sa.sa_flags = SA_RESTART | SA_SIGINFO;
  sigemptyset (&sa.sa_mask);

  err = sigaction (SIGFPE, &sa, NULL);
  if (err == -1 && errno == ENOSYS)
    printf ("ENOSYS\n");

  printf ("xyzzy\n");
  exit (0);
}