diff options
author | Michael Snyder <msnyder@vmware.com> | 2003-07-02 19:04:58 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2003-07-02 19:04:58 +0000 |
commit | f0861129d52b00fe57beb4fb0efca668faa3939a (patch) | |
tree | 2bac9b6593db78f58f8116a686dd9f2453f83e94 /sim/h8300 | |
parent | fd13a04acf73b5a59f9212c8a0fac24ddd0d434a (diff) | |
download | binutils-f0861129d52b00fe57beb4fb0efca668faa3939a.zip binutils-f0861129d52b00fe57beb4fb0efca668faa3939a.tar.gz binutils-f0861129d52b00fe57beb4fb0efca668faa3939a.tar.bz2 |
2003-06-24 Michael Snyder <msnyder@redhat.com>
* sim-main.h (SIM_WIFSTOPPED, SIM_WSTOPSIG): Define.
* compile.c (sim_resume): Use the above to return stop signal.
Diffstat (limited to 'sim/h8300')
-rw-r--r-- | sim/h8300/ChangeLog | 5 | ||||
-rw-r--r-- | sim/h8300/compile.c | 6 | ||||
-rw-r--r-- | sim/h8300/sim-main.h | 6 |
3 files changed, 15 insertions, 2 deletions
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index cd81e6e..2112ad9 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -1,3 +1,8 @@ +2003-06-24 Michael Snyder <msnyder@redhat.com> + + * sim-main.h (SIM_WIFSTOPPED, SIM_WSTOPSIG): Define. + * compile.c (sim_resume): Use the above to return stop signal. + 2003-06-18 Michael Snyder <msnyder@redhat.com> * compile.c: Replace "Hitachi" with "Renesas". diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index f416695..7635655 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -3575,6 +3575,12 @@ sim_resume (SIM_DESC sd, int step, int siggnal) sim_engine_set_run_state (sd, sim_exited, SIM_WEXITSTATUS (h8_get_reg (sd, 0))); } + else if (SIM_WIFSTOPPED (h8_get_reg (sd, 0))) + { + /* Pass the stop signal up to gdb. */ + sim_engine_set_run_state (sd, sim_stopped, + SIM_WSTOPSIG (h8_get_reg (sd, 0))); + } else { /* Treat it as a sigtrap. */ diff --git a/sim/h8300/sim-main.h b/sim/h8300/sim-main.h index 6acf901..284a558 100644 --- a/sim/h8300/sim-main.h +++ b/sim/h8300/sim-main.h @@ -164,7 +164,9 @@ struct sim_state { /* Local version of macros for decoding exit status. (included here rather than try to find target version of wait.h) */ -#define SIM_WIFEXITED(V) (((V) & 0xff) == 0) -#define SIM_WEXITSTATUS(V) ((V) >> 8) +#define SIM_WIFEXITED(V) (((V) & 0xff) == 0) +#define SIM_WIFSTOPPED(V) (!SIM_WIFEXITED (V)) +#define SIM_WEXITSTATUS(V) (((V) >> 8) & 0xff) +#define SIM_WSTOPSIG(V) ((V) & 0x7f) #endif /* SIM_MAIN_H */ |