]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.base/signals.c
bfd/
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / signals.c
CommitLineData
c906108c
SS
1/* Test GDB dealing with stuff like stepping into sigtramp. */
2
3#include <signal.h>
085dd6e6 4#include <unistd.h>
c906108c
SS
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
085dd6e6
JM
13#ifdef PROTOTYPES
14static void
15handler (int sig)
16#else
c906108c
SS
17static void
18handler (sig)
19 int sig;
085dd6e6 20#endif
c906108c
SS
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}