qemu/linux-user
Warner Losh 0763788868 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>
2021-11-23 01:47:20 +01:00
..
aarch64 target/arm: Implement arm_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
alpha target/alpha: Implement alpha_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
arm target/arm: Implement arm_cpu_record_sigbus 2021-11-02 07:00:52 -04:00
cris target/cris: Make cris_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
generic linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
hexagon target/hexagon: Remove hexagon_cpu_tlb_fill 2021-11-02 07:00:52 -04:00
host linux-user/signal.c: Create a common rewind_if_in_safe_syscall 2021-11-23 01:47:20 +01:00
hppa linux-user/hppa: Remove EXCP_UNALIGN handling 2021-11-02 07:00:52 -04:00
i386 linux-user/x86_64: Raise SIGSEGV if SA_RESTORER not set 2021-10-01 12:03:48 +02:00
m68k target/m68k: Make m68k_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
microblaze target/microblaze: Make mb_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
mips target/mips: Make mips_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
mips64 linux-user/mips: Implement setup_sigtramp 2021-10-01 12:03:48 +02:00
nios2 linux-user/nios2: Document non-use of setup_sigtramp 2021-10-01 12:03:48 +02:00
openrisc target/openrisc: Make openrisc_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
ppc linux-user/ppc: Remove POWERPC_EXCP_ALIGN handling 2021-11-02 07:00:52 -04:00
riscv target/riscv: Make riscv_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
s390x target/s390x: Implement s390_cpu_record_sigsegv 2021-11-02 07:00:52 -04:00
sh4 target/sh4: Make sh4_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
sparc target/sparc: Make sparc_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
x86_64 linux-user/i386: Implement setup_sigtramp 2021-10-01 12:03:48 +02:00
xtensa target/xtensa: Make xtensa_cpu_tlb_fill sysemu only 2021-11-02 07:00:52 -04:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c linux-user: fix Coverity CID 1464101 2021-11-22 09:17:08 +01:00
errnos.c.inc linux-user: Simplify host <-> target errno conversion using macros 2021-07-12 21:53:35 +02:00
exit.c linux-user: Don't include gdbstub.h in qemu.h 2021-09-13 20:35:45 +02:00
fd-trans.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
fd-trans.h fd-trans: Fix race condition on reallocation of the translation table. 2021-07-12 21:54:46 +02:00
flat.h linux-user/: fix some comment spelling errors 2020-09-17 20:39:22 +02:00
flatload.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
ioctls.h linux-user: Conditionalize TUNSETVNETLE 2021-01-07 05:09:06 -10:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
loader.h linux-user: Split loader-related prototypes into loader.h 2021-09-13 20:35:44 +02:00
main.c Pull request linux-user 20210916 2021-09-16 21:09:18 +01:00
meson.build meson: *-user: only descend into *-user when configured 2021-10-18 12:51:39 -06:00
mmap.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
qemu.h linux-user: Drop unneeded includes from qemu.h 2021-09-13 20:35:45 +02:00
safe-syscall.h linux-user/signal.c: Create a common rewind_if_in_safe_syscall 2021-11-23 01:47:20 +01:00
safe-syscall.S linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
semihost.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
signal-common.h linux-user: Add infrastructure for a signal trampoline page 2021-10-01 12:03:47 +02:00
signal.c linux-user/signal.c: Create a common rewind_if_in_safe_syscall 2021-11-23 01:47:20 +01:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
strace.h linux-user: Split strace prototypes into strace.h 2021-09-13 20:35:44 +02:00
strace.list linux-user: Add copy_file_range to strace.list 2021-05-18 07:09:58 +02:00
syscall_defs.h linux-user: Fix member types of target_dirent64 2021-11-21 16:19:17 +01:00
syscall_types.h linux-user: Add support for btrfs ioctls used to scrub a filesystem 2020-09-03 01:09:35 +02:00
syscall.c linux-user: Rewrite do_getdents, do_getdents64 2021-11-21 16:19:17 +01:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events linux-user/trace-events: fix minor typo in format string 2021-06-17 16:09:11 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uaccess.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
user-internals.h linux-user: Drop unneeded includes from qemu.h 2021-09-13 20:35:45 +02:00
user-mmap.h linux-user: Split mmap prototypes into user-mmap.h 2021-09-13 20:35:45 +02:00
vm86.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00