summaryrefslogtreecommitdiffstats
path: root/linux-user/main.c
diff options
context:
space:
mode:
authorPetar Jovanovic <petar.jovanovic@imgtec.com>2014-02-28 15:25:32 +0100
committerRiku Voipio <riku.voipio@linaro.org>2014-03-03 23:09:04 +0200
commitb51910baf227f0fd64abfa7ad6d8e00150a18194 (patch)
tree2d088cd709c7d1bffe09df291857fb8f5dd10346 /linux-user/main.c
parent974a196d7fc9f2f5553589b0022226b877e5c9b1 (diff)
downloadhqemu-b51910baf227f0fd64abfa7ad6d8e00150a18194.zip
hqemu-b51910baf227f0fd64abfa7ad6d8e00150a18194.tar.gz
linux-user: correct handling of break exception for MIPS
Exception with break instruction has not been correctly propagated as SIGTRAP. This resolves crash issues with examples that use break instruction on MIPS. Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/main.c')
-rw-r--r--linux-user/main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index 9192977..c19e7fb 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -2384,6 +2384,10 @@ static int do_break(CPUMIPSState *env, target_siginfo_t *info,
ret = 0;
break;
default:
+ info->si_signo = TARGET_SIGTRAP;
+ info->si_errno = 0;
+ queue_signal(env, info->si_signo, &*info);
+ ret = 0;
break;
}
OpenPOWER on IntegriCloud