qemu-e2k/linux-user
Ilya Leoshkevich 9a12adc704 linux-user/s390x: Fix unwinding from signal handlers
Commit 31330e6cec ("linux-user/s390x: Implement setup_sigtramp")
removed an unused field from rt_sigframe, disturbing offsets of other
fields and breaking unwinding from signal handlers (e.g. libgcc's
s390_fallback_frame() relies on this struct having a specific layout).
Restore the field and add a comment.

Reported-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Fixes: 31330e6cec ("linux-user/s390x: Implement setup_sigtramp")
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220503225157.1696774-2-iii@linux.ibm.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2022-05-23 22:52:27 +02:00
..
aarch64 Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
alpha Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
arm target/arm: Change CPUArchState.thumb to bool 2022-04-22 14:44:54 +01:00
cris Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
generic linux-user/syscall: Translate TARGET_RLIMIT_RTTIME 2022-02-01 08:01:44 +01:00
hexagon Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
hppa linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
i386 Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
include ppc64: Avoid pt_regs struct definition 2022-03-20 23:35:27 +01:00
m68k Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
microblaze Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
mips Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
mips64 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
nios2 linux-user/nios2: Handle various SIGILL exceptions 2022-04-26 08:17:05 -07:00
openrisc Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
ppc Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
riscv Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
s390x linux-user/s390x: Fix unwinding from signal handlers 2022-05-23 22:52:27 +02:00
sh4 Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sparc Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
x86_64 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
xtensa Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
cpu_loop-common.h linux-user: Create special-errno.h 2021-12-19 20:47:33 -08:00
elfload.c linux-user/elfload: Remove pointless non-const CPUArchState cast 2022-05-23 22:47:19 +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: Fix inotify on aarch64 2022-01-27 16:58:33 +01: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: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linux_loop.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linuxload.c linux-user: Clean up arg_start/arg_end confusion 2022-05-23 08:15:19 +02:00
loader.h linux-user: Split loader-related prototypes into loader.h 2021-09-13 20:35:44 +02:00
main.c linux-user: Clean up arg_start/arg_end confusion 2022-05-23 08:15:19 +02:00
meson.build user: move common-user includes to a subdirectory of {bsd,linux}-user/ 2022-01-12 14:08:29 +01:00
mmap.c linux-user: Expand log_page_dump inline 2022-04-20 10:51:11 -07:00
qemu.h linux-user: Clean up arg_start/arg_end confusion 2022-05-23 08:15:19 +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: Split out helpers for sigsuspend 2022-03-22 13:06:21 +01:00
signal.c compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
strace.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +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: Remove pointless CPU{ARCH}State casts 2022-05-23 22:47:20 +02:00
syscall_defs.h linux-user: Remove the deprecated ppc64abi32 target 2022-02-09 13:29:38 +00:00
syscall_types.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
thunk.c linux-user: Move thunk.c from top-level 2021-12-20 10:12:29 -08:00
trace-events linux-user: Rename user_force_sig tracepoint to match function name 2022-01-18 12:41:42 +01: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: Remove pointless CPU{ARCH}State casts 2022-05-23 22:47:20 +02:00
uname.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
user-internals.h linux-user: Remove pointless CPU{ARCH}State casts 2022-05-23 22:47:20 +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