[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 16/19] bsd-user: Implement SIGSYS on arm
From: |
Warner Losh |
Subject: |
[PATCH v2 16/19] bsd-user: Implement SIGSYS on arm |
Date: |
Mon, 10 Apr 2023 12:20:53 -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>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
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 v2 12/19] bsd-user: Implement do_sysctl_kern_proc_vmmap, (continued)
- [PATCH v2 12/19] bsd-user: Implement do_sysctl_kern_proc_vmmap, Warner Losh, 2023/04/10
- [PATCH v2 13/19] bsd-user: Implement sysctl kern.proc, except kern.proc.full_path, Warner Losh, 2023/04/10
- [PATCH v2 02/19] bsd-user: Ifdef a few MAP_ constants for NetBSD / OpenBSD., Warner Losh, 2023/04/10
- [PATCH v2 17/19] bsd-user: Remove host-os.h, Warner Losh, 2023/04/10
- [PATCH v2 19/19] bsd-user: Eliminate USE_ELF_CORE_DUMP, Warner Losh, 2023/04/10
- [PATCH v2 15/19] bsd-user: Add SIGSYS to core dump signals., Warner Losh, 2023/04/10
- [PATCH v2 14/19] bsd-user: Implement core dumps, Warner Losh, 2023/04/10
- [PATCH v2 16/19] bsd-user: Implement SIGSYS on arm,
Warner Losh <=
- [PATCH v2 18/19] bsd-user: Update system call list, Warner Losh, 2023/04/10