Automatic date update in version.in
[deliverable/binutils-gdb.git] / sim / common / sim-signal.c
index d9481c1ebf041eee6ead6296503a3b82de47449a..7ddf694c4976b78f0738543815040c9073289f60 100644 (file)
@@ -1,22 +1,21 @@
 /* Simulator signal support
 /* Simulator signal support
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997-2020 Free Software Foundation, Inc.
    Contributed by Cygnus Support
 
 This file is part of the GNU Simulators.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
    Contributed by Cygnus Support
 
 This file is part of the GNU Simulators.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <signal.h>
 #include "sim-main.h"
 
 #include <signal.h>
 #include "sim-main.h"
@@ -27,13 +26,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
    to not think the process has died (so it can be debugged at the point of
    failure).  */
 
    to not think the process has died (so it can be debugged at the point of
    failure).  */
 
-#ifdef _MSC_VER
+#ifdef _WIN32
 #ifndef SIGTRAP
 #define SIGTRAP 5
 #endif
 #ifndef SIGBUS
 #define SIGBUS 10
 #endif
 #ifndef SIGTRAP
 #define SIGTRAP 5
 #endif
 #ifndef SIGBUS
 #define SIGBUS 10
 #endif
+#ifndef SIGQUIT
+#define SIGQUIT 3
+#endif
 #endif
 
 int
 #endif
 
 int
@@ -74,7 +76,7 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
       break;
 
     case SIM_SIGFPE:
       break;
 
     case SIM_SIGFPE:
-#ifdef SIGXCPU
+#ifdef SIGFPE
       return SIGFPE;
 #endif
       break;
       return SIGFPE;
 #endif
       break;
@@ -91,3 +93,42 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
   return 1;
 #endif
 }
   return 1;
 #endif
 }
+
+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;
+}
This page took 0.024437 seconds and 4 git commands to generate.