1/* Test GDB dealing with stuff like stepping into sigtramp.  */
2
3#include <signal.h>
4#include <unistd.h>
5
6#ifdef __sh__
7#define signal(a,b)	/* Signals not supported on this target - make them go away */
8#define alarm(a)	/* Ditto for alarm() */
9#endif
10
11static int count = 0;
12
13#ifdef PROTOTYPES
14static void
15handler (int sig)
16#else
17static void
18handler (sig)
19     int sig;
20#endif
21{
22  signal (sig, handler);
23  ++count;
24}
25
26static void
27func1 ()
28{
29  ++count;
30}
31
32static void
33func2 ()
34{
35  ++count;
36}
37
38int
39main ()
40{
41#ifdef usestubs
42  set_debug_traps();
43  breakpoint();
44#endif
45#ifdef SIGALRM
46  signal (SIGALRM, handler);
47#endif
48#ifdef SIGUSR1
49  signal (SIGUSR1, handler);
50#endif
51  alarm (1);
52  ++count; /* first */
53  alarm (1);
54  ++count; /* second */
55  func1 ();
56  alarm (1);
57  func2 ();
58  return count;
59}
60