📄 sim-signal.c
字号:
/* Simulator signal support Copyright (C) 1997 Free Software Foundation, Inc. Contributed by Cygnus SupportThis file is part of the GNU Simulators.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#include <signal.h>#include "sim-main.h"/* Convert SIM_SIGFOO to SIGFOO. What to do when the host doesn't have SIGFOO is handled on a case by case basis. Generally, in the case of passing a value back to gdb, we want gdb to not think the process has died (so it can be debugged at the point of failure). */#ifdef _MSC_VER#ifndef SIGTRAP#define SIGTRAP 5#endif#ifndef SIGBUS#define SIGBUS 10#endif#ifndef SIGQUIT#define SIGQUIT 3#endif#endifintsim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig){ switch (sig) { case SIM_SIGINT : return SIGINT; case SIM_SIGABRT : return SIGABRT; case SIM_SIGILL :#ifdef SIGILL return SIGILL;#else return SIGSEGV;#endif case SIM_SIGTRAP : return SIGTRAP; case SIM_SIGBUS :#ifdef SIGBUS return SIGBUS;#else return SIGSEGV;#endif case SIM_SIGSEGV : return SIGSEGV; case SIM_SIGXCPU :#ifdef SIGXCPU return SIGXCPU;#endif break; case SIM_SIGFPE:#ifdef SIGXCPU return SIGFPE;#endif break; case SIM_SIGNONE: return 0; break; } sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);#ifdef SIGHUP return SIGHUP; /* FIXME: Suggestions? */#else return 1;#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -