* remote-sim.c (gdbsim_wait): Pass target signal numbers to
[deliverable/binutils-gdb.git] / sim / common / sim-signal.c
index d9481c1ebf041eee6ead6296503a3b82de47449a..e8fd10cffee28a0a987c43d9d636715857ea9c1f 100644 (file)
@@ -34,6 +34,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef SIGBUS
 #define SIGBUS 10
 #endif
+#ifndef SIGQUIT
+#define SIGQUIT 3
+#endif
 #endif
 
 int
@@ -74,7 +77,7 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
       break;
 
     case SIM_SIGFPE:
-#ifdef SIGXCPU
+#ifdef SIGFPE
       return SIGFPE;
 #endif
       break;
@@ -91,3 +94,42 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
   return 1;
 #endif
 }
+
+int 
+sim_signal_to_target (SIM_DESC sd, SIM_SIGNAL sig)
+{
+  switch (sig)
+    {
+    case SIM_SIGINT :
+      return TARGET_SIGNAL_INT;
+
+    case SIM_SIGABRT :
+      return TARGET_SIGNAL_ABRT;
+
+    case SIM_SIGILL :
+      return TARGET_SIGNAL_ILL;
+
+    case SIM_SIGTRAP :
+      return TARGET_SIGNAL_TRAP;
+
+    case SIM_SIGBUS :
+      return TARGET_SIGNAL_BUS;
+
+    case SIM_SIGSEGV 
+      return TARGET_SIGNAL_SEGV;
+
+    case SIM_SIGXCPU :
+      return TARGET_SIGNAL_XCPU;
+
+    case SIM_SIGFPE:
+      return TARGET_SIGNAL_FPE;
+      break;
+
+    case SIM_SIGNONE:
+      return TARGET_SIGNAL_0;
+      break;
+    }
+
+  sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);
+  return TARGET_SIGNAL_HUP;
+}
This page took 0.024658 seconds and 4 git commands to generate.