On 11/8/21 3:37 AM, Warner Losh wrote:
> All instances of rewind_if_in_safe_syscall are the same, differing only
> in how the instruction point is fetched from the ucontext and the size
> of the registers. Use host_signal_pc and new host_signal_set_pc
> interfaces to fetch the pointer to the PC and adjust if needed. Delete
> all the old copies of rewind_if_in_safe_syscall.
>
> Signed-off-by: Warner Losh<imp@bsdimp.com>
> ---
> linux-user/host/aarch64/hostdep.h | 20 --------------------
> linux-user/host/arm/hostdep.h | 20 --------------------
> linux-user/host/i386/hostdep.h | 20 --------------------
> linux-user/host/ppc64/hostdep.h | 20 --------------------
> linux-user/host/riscv/hostdep.h | 20 --------------------
> linux-user/host/s390x/hostdep.h | 20 --------------------
> linux-user/host/x86_64/hostdep.h | 20 --------------------
> linux-user/signal.c | 18 +++++++++++++++++-
> 8 files changed, 17 insertions(+), 141 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Although I think we can fairly safely drop HAVE_SAFE_SYSCALL. It is required for proper
operation. As with host-signal.h, really.
Yes. The only possible use I can see for it is to allow people to bring up new platforms more easily by deferring the signal-safe system call details until later in that process.
If we do, we'd need to remove the linux-user on a mips host tests from the CI pipeline. Those are the only ones left that don't use this that we test.
Warner