aboutsummaryrefslogtreecommitdiff
path: root/sim/rx
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-09-29 15:47:45 +0000
committerNick Clifton <nickc@redhat.com>2010-09-29 15:47:45 +0000
commit5f79eb72c24bb79e981896542831374b54fb96ba (patch)
tree2f15111de7842c02b43dfc3f2b1d5d89beb0417a /sim/rx
parentbb73df25a83c1040ab448374bf8820175b595f73 (diff)
downloadgdb-5f79eb72c24bb79e981896542831374b54fb96ba.zip
gdb-5f79eb72c24bb79e981896542831374b54fb96ba.tar.gz
gdb-5f79eb72c24bb79e981896542831374b54fb96ba.tar.bz2
* rx.c (decode_opcode: RXO_int): Only break out of the emulation
loop if rx_syscall() does not return a RX_STEPPED result.
Diffstat (limited to 'sim/rx')
-rw-r--r--sim/rx/ChangeLog5
-rw-r--r--sim/rx/rx.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog
index ed363da..4da5965 100644
--- a/sim/rx/ChangeLog
+++ b/sim/rx/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-29 Nick Clifton <nickc@redhat.com>
+
+ * rx.c (decode_opcode: RXO_int): Only break out of the emulation
+ loop if rx_syscall() does not return a RX_STEPPED result.
+
2010-09-23 Kevin Buettner <kevinb@redhat.com>
* rx.c (decode_opcode): Add cycle information for RXO_smovu.
diff --git a/sim/rx/rx.c b/sim/rx/rx.c
index 17f5b46..247d624 100644
--- a/sim/rx/rx.c
+++ b/sim/rx/rx.c
@@ -1232,7 +1232,9 @@ decode_opcode ()
v = GS ();
if (v == 255)
{
- DO_RETURN (rx_syscall (regs.r[5]));
+ int rc = rx_syscall (regs.r[5]);
+ if (! RX_STEPPED (rc))
+ DO_RETURN (rc);
}
else
{