[06/10] sparc-linux-user: Handle SIGILL.

Submitted by riku.voipio@linaro.org on Oct. 27, 2011, 12:02 p.m.

Details

Message ID 75f22e4e69aa4e6d58f52c1863910b3245acc719.1319716562.git.riku.voipio@linaro.org
State New
Headers show

Commit Message

riku.voipio@linaro.org Oct. 27, 2011, 12:02 p.m.
From: Richard Henderson <rth@twiddle.net>

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
---
 linux-user/main.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

Patch hide | download patch | download mbox

diff --git a/linux-user/main.c b/linux-user/main.c
index e7dad54..2bc10ed 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -1191,6 +1191,15 @@  void cpu_loop (CPUSPARCState *env)
         case EXCP_INTERRUPT:
             /* just indicate that signals should be handled asap */
             break;
+        case TT_ILL_INSN:
+            {
+                info.si_signo = TARGET_SIGILL;
+                info.si_errno = 0;
+                info.si_code = TARGET_ILL_ILLOPC;
+                info._sifields._sigfault._addr = env->pc;
+                queue_signal(env, info.si_signo, &info);
+            }
+            break;
         case EXCP_DEBUG:
             {
                 int sig;