Example #1
0
static enum gdb_signal
alpha_linux_gdb_signal_from_target (struct gdbarch *gdbarch,
				    int signal)
{
  switch (signal)
    {
    case ALPHA_LINUX_SIGEMT:
      return GDB_SIGNAL_EMT;

    case ALPHA_LINUX_SIGBUS:
      return GDB_SIGNAL_BUS;

    case ALPHA_LINUX_SIGSYS:
      return GDB_SIGNAL_SYS;

    case ALPHA_LINUX_SIGURG:
      return GDB_SIGNAL_URG;

    case ALPHA_LINUX_SIGSTOP:
      return GDB_SIGNAL_STOP;

    case ALPHA_LINUX_SIGTSTP:
      return GDB_SIGNAL_TSTP;

    case ALPHA_LINUX_SIGCONT:
      return GDB_SIGNAL_CONT;

    case ALPHA_LINUX_SIGCHLD:
      return GDB_SIGNAL_CHLD;

    /* No way to differentiate between SIGIO and SIGPOLL.
       Therefore, we just handle the first one.  */
    case ALPHA_LINUX_SIGIO:
      return GDB_SIGNAL_IO;

    /* No way to differentiate between SIGINFO and SIGPWR.
       Therefore, we just handle the first one.  */
    case ALPHA_LINUX_SIGINFO:
      return GDB_SIGNAL_INFO;

    case ALPHA_LINUX_SIGUSR1:
      return GDB_SIGNAL_USR1;

    case ALPHA_LINUX_SIGUSR2:
      return GDB_SIGNAL_USR2;
    }

  return linux_gdb_signal_from_target (gdbarch, signal);
}
Example #2
0
static enum gdb_signal
xtensa_linux_gdb_signal_from_target (struct gdbarch *gdbarch,
				   int signal)
{
  if (signal >= XTENSA_LINUX_SIGRTMIN && signal <= XTENSA_LINUX_SIGRTMAX)
    {
      int offset = signal - XTENSA_LINUX_SIGRTMIN;

      if (offset == 0)
	return GDB_SIGNAL_REALTIME_32;
      else
	return (enum gdb_signal) (offset - 1
				  + (int) GDB_SIGNAL_REALTIME_33);
    }
  else if (signal > XTENSA_LINUX_SIGRTMAX)
    return GDB_SIGNAL_UNKNOWN;

  return linux_gdb_signal_from_target (gdbarch, signal);
}