aboutsummaryrefslogtreecommitdiff
path: root/sim/cr16/interp.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-08-30 06:10:28 +0000
committerMike Frysinger <vapier@gentoo.org>2012-08-30 06:10:28 +0000
commit5a06d7c470e4dfd5f66ba9b6a93d9a77d4910e07 (patch)
tree42c53ad4bd9a45129ab069a279615065547c9110 /sim/cr16/interp.c
parent4881a75b8b097924cac2f6ee2d22de879111127a (diff)
downloadfsf-binutils-gdb-5a06d7c470e4dfd5f66ba9b6a93d9a77d4910e07.zip
fsf-binutils-gdb-5a06d7c470e4dfd5f66ba9b6a93d9a77d4910e07.tar.gz
fsf-binutils-gdb-5a06d7c470e4dfd5f66ba9b6a93d9a77d4910e07.tar.bz2
sim: cr16: improve trap handling
Diffstat (limited to 'sim/cr16/interp.c')
-rw-r--r--sim/cr16/interp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sim/cr16/interp.c b/sim/cr16/interp.c
index 1207906..36f848e 100644
--- a/sim/cr16/interp.c
+++ b/sim/cr16/interp.c
@@ -1192,7 +1192,11 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
iaddr = imem_addr ((uint32)PC);
if (iaddr == State.mem.fault)
{
+#ifdef SIGBUS
State.exception = SIGBUS;
+#else
+ State.exception = SIGSEGV;
+#endif
break;
}