diff mbox

[7/8] linux-user: correct handling of break exception for MIPS

Message ID b51910baf227f0fd64abfa7ad6d8e00150a18194.1394453724.git.riku.voipio@linaro.org
State Accepted
Commit b51910baf227f0fd64abfa7ad6d8e00150a18194
Headers show

Commit Message

Riku Voipio March 10, 2014, 12:22 p.m. UTC
From: Petar Jovanovic <petar.jovanovic@imgtec.com>

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>
---
 linux-user/main.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox

Patch

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;
     }