sim-reason.c

来自「这个是LINUX下的GDB调度工具的源码」· C语言 代码 · 共 58 行

C
58
字号
/* Generic simulator stop_reason.   Copyright (C) 1997 Free Software Foundation, Inc.   Contributed by Cygnus Support.This file is part of GDB, the GNU debugger.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 "sim-main.h"#include "sim-assert.h"/* Generic implementation of sim_stop_reason */voidsim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc){  sim_engine *engine = NULL;  SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);  engine = STATE_ENGINE (sd);  *reason = engine->reason;  switch (*reason)    {    case sim_exited :      *sigrc = engine->sigrc;      break;    case sim_signalled :      /* ??? See the comment below case `sim_signalled' in	 gdb/remote-sim.c:gdbsim_wait.	 ??? Consider the case of the target requesting that it	 kill(2) itself with SIGNAL.  That SIGNAL, being target	 specific, will not correspond to either of the SIM_SIGNAL	 enum nor the HOST_SIGNAL.  A mapping from TARGET_SIGNAL to	 HOST_SIGNAL is needed.  */      *sigrc = sim_signal_to_host (sd, engine->sigrc);      break;    case sim_stopped :      /* The gdb/simulator interface calls for us to return the host	 version of the signal which gdb then converts into the	 target's version.  This is obviously a bit clumsy.  */      *sigrc = sim_signal_to_host (sd, engine->sigrc);      break;    default :      abort ();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?