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 11 static int count = 0; 12 13 #ifdef PROTOTYPES 14 static void handler(int sig)15handler (int sig) 16 #else 17 static void 18 handler (sig) 19 int sig; 20 #endif 21 { 22 signal (sig, handler); 23 ++count; 24 } 25 26 static void func1()27func1 () 28 { 29 ++count; 30 } 31 32 static void func2()33func2 () 34 { 35 ++count; 36 } 37 38 int main()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