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
;