1 /* Simulator signal support
2 Copyright (C) 1997-2018 Free Software Foundation, Inc.
3 Contributed by Cygnus Support
5 This file is part of the GNU Simulators.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* Convert SIM_SIGFOO to SIGFOO.
24 What to do when the host doesn't have SIGFOO is handled on a case by case
25 basis. Generally, in the case of passing a value back to gdb, we want gdb
26 to not think the process has died (so it can be debugged at the point of
42 sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
89 sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);
91 return SIGHUP; /* FIXME: Suggestions? */
98 sim_signal_to_gdb_signal (SIM_DESC sd, SIM_SIGNAL sig)
103 return GDB_SIGNAL_INT;
106 return GDB_SIGNAL_ABRT;
109 return GDB_SIGNAL_ILL;
112 return GDB_SIGNAL_TRAP;
115 return GDB_SIGNAL_BUS;
118 return GDB_SIGNAL_SEGV;
121 return GDB_SIGNAL_XCPU;
124 return GDB_SIGNAL_FPE;
132 sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);
133 return GDB_SIGNAL_HUP;