diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-26 18:34:20 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-26 18:34:20 +0000 |
commit | 7a292a7adf506b866905b06b3024c0fd411c4583 (patch) | |
tree | 5b208bb48269b8a82d5c3a5f19c87b45a62a22f4 /sim/arm/wrapper.c | |
parent | 1996fae84682e8ddd146215dd2959ad1ec924c09 (diff) | |
download | gdb-7a292a7adf506b866905b06b3024c0fd411c4583.zip gdb-7a292a7adf506b866905b06b3024c0fd411c4583.tar.gz gdb-7a292a7adf506b866905b06b3024c0fd411c4583.tar.bz2 |
import gdb-19990422 snapshot
Diffstat (limited to 'sim/arm/wrapper.c')
-rw-r--r-- | sim/arm/wrapper.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c index 4038004..7d725b8 100644 --- a/sim/arm/wrapper.c +++ b/sim/arm/wrapper.c @@ -50,6 +50,8 @@ static int verbosity; /* Non-zero to set big endian mode. */ static int big_endian; +int stop_simulator; + static void init () { @@ -154,7 +156,9 @@ int sim_stop (sd) SIM_DESC sd; { - return 0; + state->Emulate = STOP; + stop_simulator = 1; + return 1; } void @@ -163,6 +167,7 @@ sim_resume (sd, step, siggnal) int step, siggnal; { state->EndCondition = 0; + stop_simulator = 0; if (step) { @@ -435,7 +440,12 @@ sim_stop_reason (sd, reason, sigrc) enum sim_stop *reason; int *sigrc; { - if (state->EndCondition == 0) + if (stop_simulator) + { + *reason = sim_stopped; + *sigrc = SIGINT; + } + else if (state->EndCondition == 0) { *reason = sim_exited; *sigrc = state->Reg[0] & 255; |