diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-09-29 09:05:47 -0400 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2021-10-01 12:03:48 +0200 |
commit | 3c62b5d2015b8292d4453f8174abf5fadbc6cc0f (patch) | |
tree | bd484c82528a07167180dfc3d0e13ad2cc67be50 /linux-user/riscv/target_signal.h | |
parent | c790e4ebfed8174f65d685f5a4f3262873c237a5 (diff) |
linux-user/riscv: Implement setup_sigtramp
Create and record the rt signal trampoline.
This fixes a bug wrt libgcc fallback unwinding. It expects
the stack pointer to point to the siginfo_t, whereas we had
inexplicably placed our private signal trampoline at the start
of the signal frame instead of the end. Now moot because we
have removed it from the stack frame entirely.
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210929130553.121567-21-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/riscv/target_signal.h')
-rw-r--r-- | linux-user/riscv/target_signal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/riscv/target_signal.h b/linux-user/riscv/target_signal.h index f113ba9a55..3e36fddc9d 100644 --- a/linux-user/riscv/target_signal.h +++ b/linux-user/riscv/target_signal.h @@ -15,4 +15,6 @@ typedef struct target_sigaltstack { #include "../generic/signal.h" +#define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1 + #endif /* RISCV_TARGET_SIGNAL_H */ |