qemu/linux-user
Richard Henderson b5d66e0dd8 linux-user/arm: Implement setup_sigtramp
Mirror what the kernel does in arch/arm/kernel/signal.h,
using the old sigframe struct in the rt sigframe struct.

Update the trampoline code to match the kernel: this uses
sp-relative accesses rather than pc-relative.

Copy the code into frame->retcode from the trampoline page.
This minimises the different cases wrt arm vs thumb vs fdpic.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20210929130553.121567-6-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2021-10-01 12:03:48 +02:00
..
aarch64 linux-user/aarch64: Implement setup_sigtramp 2021-10-01 12:03:48 +02:00
alpha linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
arm linux-user/arm: Implement setup_sigtramp 2021-10-01 12:03:48 +02:00
cris linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
generic linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
hexagon linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
host linux-user/: fix some comment spelling errors 2020-09-17 20:39:22 +02:00
hppa linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
i386 linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
m68k linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
microblaze linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
mips linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
mips64 linux-user: update syscall.tbl to Linux v5.13 2021-07-13 13:59:59 +02:00
nios2 linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
openrisc linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
ppc linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
riscv linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
s390x linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
sh4 linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
sparc linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
x86_64 linux-user: update syscall.tbl to Linux v5.13 2021-07-13 13:59:59 +02:00
xtensa linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
cpu_loop-common.h
elfload.c linux-user: Add infrastructure for a signal trampoline page 2021-10-01 12:03:47 +02: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
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 linux-user/sparc: Merge sparc64/ into sparc/ 2021-05-15 21:43:23 +02: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: Split safe-syscall macro into its own header 2021-09-13 20:35:45 +02: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: Add infrastructure for a signal trampoline page 2021-10-01 12:03:47 +02:00
socket.h
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.c linux-user: Check lock_user result for ip_mreq_source sockopts 2021-09-16 17:04:21 +02:00
syscall_defs.h linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
syscall_types.h linux-user: Add support for btrfs ioctls used to scrub a filesystem 2020-09-03 01:09:35 +02:00
target_flat.h
trace-events linux-user/trace-events: fix minor typo in format string 2021-06-17 16:09:11 +02:00
trace.h
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
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