summaryrefslogtreecommitdiff
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
commit617f69caa31b60b5c838f8a1a76cec1becfa7dff (patch)
treebb111a1a2563c557b8e99f641d5c008d9613599d /sim/rx
parent55b9f5fe55d30ef96cd98b9458b7ea7b870e6976 (diff)
downloadgdb-617f69caa31b60b5c838f8a1a76cec1becfa7dff.tar.gz
* 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 ed363dafca2..4da59659d4a 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 17f5b46f4af..247d6247ad9 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
{