[PATCH] linux-user/sh4: Deliver SIGILL on invalid instruction

Mikulas Patocka <[email protected]> Mon, 3 Aug 2026 21:42:29 +0200 (CEST)
Newsgroups org.nongnu.qemu-devel
Message-ID <[email protected]>
On invalid instruction, deliver SIGILL rather than crashing the whole
process unconditionally.

Cc: [email protected]
Signed-off-by: Mikulas Patocka <[email protected]>

---
 linux-user/sh4/cpu_loop.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: qemu/linux-user/sh4/cpu_loop.c
===================================================================
--- qemu.orig/linux-user/sh4/cpu_loop.c	2026-08-02 19:02:25.000000000 +0200
+++ qemu/linux-user/sh4/cpu_loop.c	2026-08-02 19:06:40.000000000 +0200
@@ -64,6 +64,10 @@ void cpu_loop(CPUSH4State *env)
             cpu_exec_step_atomic(cs);
             arch_interrupt = false;
             break;
+        case 0x180:
+            /* Illegal instruction */
+            force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc);
+            break;
         default:
             fprintf(stderr, "Unhandled trap: 0x%x\n", trapnr);
             cpu_dump_state(cs, stderr, 0);