Пример #1
0
static int
xtensa_linux_gdb_signal_to_target (struct gdbarch *gdbarch,
				   enum gdb_signal signal)
{
  switch (signal)
    {
    /* GDB_SIGNAL_REALTIME_32 is not continuous in <gdb/signals.def>,
       therefore we have to handle it here.  */
    case GDB_SIGNAL_REALTIME_32:
      return XTENSA_LINUX_SIGRTMIN;

    /* GDB_SIGNAL_REALTIME_64 is not valid on Xtensa.  */
    case GDB_SIGNAL_REALTIME_64:
      return -1;
    }

  /* GDB_SIGNAL_REALTIME_33 to _63 are continuous.

     Xtensa does not have _64.  */
  if (signal >= GDB_SIGNAL_REALTIME_33
      && signal <= GDB_SIGNAL_REALTIME_63)
    {
      int offset = signal - GDB_SIGNAL_REALTIME_33;

      return XTENSA_LINUX_SIGRTMIN + 1 + offset;
    }

  return linux_gdb_signal_to_target (gdbarch, signal);
}
Пример #2
0
static int
alpha_linux_gdb_signal_to_target (struct gdbarch *gdbarch,
				  enum gdb_signal signal)
{
  switch (signal)
    {
    case GDB_SIGNAL_EMT:
      return ALPHA_LINUX_SIGEMT;

    case GDB_SIGNAL_BUS:
      return ALPHA_LINUX_SIGBUS;

    case GDB_SIGNAL_SYS:
      return ALPHA_LINUX_SIGSYS;

    case GDB_SIGNAL_URG:
      return ALPHA_LINUX_SIGURG;

    case GDB_SIGNAL_STOP:
      return ALPHA_LINUX_SIGSTOP;

    case GDB_SIGNAL_TSTP:
      return ALPHA_LINUX_SIGTSTP;

    case GDB_SIGNAL_CONT:
      return ALPHA_LINUX_SIGCONT;

    case GDB_SIGNAL_CHLD:
      return ALPHA_LINUX_SIGCHLD;

    case GDB_SIGNAL_IO:
      return ALPHA_LINUX_SIGIO;

    case GDB_SIGNAL_INFO:
      return ALPHA_LINUX_SIGINFO;

    case GDB_SIGNAL_USR1:
      return ALPHA_LINUX_SIGUSR1;

    case GDB_SIGNAL_USR2:
      return ALPHA_LINUX_SIGUSR2;

    case GDB_SIGNAL_POLL:
      return ALPHA_LINUX_SIGPOLL;

    case GDB_SIGNAL_PWR:
      return ALPHA_LINUX_SIGPWR;
    }

  return linux_gdb_signal_to_target (gdbarch, signal);
}