mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 21:19:54 +00:00
60 lines
795 B
C
60 lines
795 B
C
/* Test GDB dealing with stuff like stepping into sigtramp. */
|
|
|
|
#include <signal.h>
|
|
#include <unistd.h>
|
|
|
|
#ifdef __sh__
|
|
#define signal(a,b) /* Signals not supported on this target - make them go away */
|
|
#define alarm(a) /* Ditto for alarm() */
|
|
#endif
|
|
|
|
static int count = 0;
|
|
|
|
#ifdef PROTOTYPES
|
|
static void
|
|
handler (int sig)
|
|
#else
|
|
static void
|
|
handler (sig)
|
|
int sig;
|
|
#endif
|
|
{
|
|
signal (sig, handler);
|
|
++count;
|
|
}
|
|
|
|
static void
|
|
func1 ()
|
|
{
|
|
++count;
|
|
}
|
|
|
|
static void
|
|
func2 ()
|
|
{
|
|
++count;
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
#ifdef usestubs
|
|
set_debug_traps();
|
|
breakpoint();
|
|
#endif
|
|
#ifdef SIGALRM
|
|
signal (SIGALRM, handler);
|
|
#endif
|
|
#ifdef SIGUSR1
|
|
signal (SIGUSR1, handler);
|
|
#endif
|
|
alarm (1);
|
|
++count; /* first */
|
|
alarm (1);
|
|
++count; /* second */
|
|
func1 ();
|
|
alarm (1);
|
|
func2 ();
|
|
return count;
|
|
}
|