OSDN Git Service

linux-user/signal.c: Create a common rewind_if_in_safe_syscall
authorWarner Losh <imp@bsdimp.com>
Sat, 13 Nov 2021 04:56:00 +0000 (21:56 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 23 Nov 2021 00:47:20 +0000 (01:47 +0100)
commit07637888687bfecf3c0cc8351c5c24f29a611691
tree516c155aa936626c6d3dbe0494b1e950974f2ad7
parentc6cda6a44a8adaeb30bd6dc185f021809625433d
linux-user/signal.c: Create a common rewind_if_in_safe_syscall

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.

Acked-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20211113045603.60391-3-imp@bsdimp.com>
[rth: include safe-syscall.h, simplify ifdefs]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/host/aarch64/hostdep.h
linux-user/host/arm/hostdep.h
linux-user/host/i386/hostdep.h
linux-user/host/ppc64/hostdep.h
linux-user/host/riscv/hostdep.h
linux-user/host/s390x/hostdep.h
linux-user/host/x86_64/hostdep.h
linux-user/safe-syscall.h
linux-user/signal.c