+
+enum gdb_signal
+sim_signal_to_gdb_signal (SIM_DESC sd, SIM_SIGNAL sig)
+{
+ switch (sig)
+ {
+ case SIM_SIGINT :
+ return GDB_SIGNAL_INT;
+
+ case SIM_SIGABRT :
+ return GDB_SIGNAL_ABRT;
+
+ case SIM_SIGILL :
+ return GDB_SIGNAL_ILL;
+
+ case SIM_SIGTRAP :
+ return GDB_SIGNAL_TRAP;
+
+ case SIM_SIGBUS :
+ return GDB_SIGNAL_BUS;
+
+ case SIM_SIGSEGV :
+ return GDB_SIGNAL_SEGV;
+
+ case SIM_SIGXCPU :
+ return GDB_SIGNAL_XCPU;
+
+ case SIM_SIGFPE:
+ return GDB_SIGNAL_FPE;
+ break;
+
+ case SIM_SIGNONE:
+ return GDB_SIGNAL_0;
+ break;
+ }
+
+ sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);
+ return GDB_SIGNAL_HUP;
+}