[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 16/16] bsd-user: Implement SIGSYS on arm
From: |
Warner Losh |
Subject: |
[PATCH 16/16] bsd-user: Implement SIGSYS on arm |
Date: |
Wed, 5 Apr 2023 15:36:12 -0600 |
When a system call returns ENOSYS, send a SIGSYS to the process (to
generate a core dump).
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
bsd-user/arm/target_arch_cpu.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/bsd-user/arm/target_arch_cpu.h b/bsd-user/arm/target_arch_cpu.h
index 517d0087644..c4b21fef713 100644
--- a/bsd-user/arm/target_arch_cpu.h
+++ b/bsd-user/arm/target_arch_cpu.h
@@ -127,6 +127,14 @@ static inline void target_cpu_loop(CPUARMState *env)
env->regs[15] -= env->thumb ? 2 : 4;
break;
}
+ /*
+ * Emulate BSD's sigsys behavior on unimplemented system calls.
+ * XXX may need to gate this somehow or arrange for sigsys to
be
+ * masked in some use cases.
+ */
+ if (ret == -TARGET_ENOSYS) {
+ force_sig_fault(TARGET_SIGSYS, SI_KERNEL, env->regs[15]);
+ }
if ((unsigned int)ret >= (unsigned int)(-515)) {
ret = -ret;
cpsr_write(env, CPSR_C, CPSR_C, CPSRWriteByInstr);
--
2.40.0
- [PATCH 11/16] bsd-user: Implement do_sysctl_kern_proc_filedesc, (continued)
- [PATCH 10/16] bsd-user: Implmenet do_sysctl_kern_getprocs, Warner Losh, 2023/04/05
- [PATCH 12/16] bsd-user: Implement do_sysctl_kern_proc_vmmap, Warner Losh, 2023/04/05
- [PATCH 16/16] bsd-user: Implement SIGSYS on arm,
Warner Losh <=
- [PATCH 15/16] bsd-user: Add SIGSYS to core dump signals., Warner Losh, 2023/04/05
- [PATCH 14/16] bsd-user: Implment core dumps, Warner Losh, 2023/04/05