diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2021-09-29 09:05:32 -0400 |
|---|---|---|
| committer | Laurent Vivier <laurent@vivier.eu> | 2021-10-01 12:03:48 +0200 |
| commit | b5d66e0dd8dda3d58e58dafa425372d158bed3e8 (patch) | |
| tree | 98df834fcf15df7a09636614545cc19dc215049d /linux-user/arm/target_signal.h | |
| parent | b807a1087ed864f6c37ccbf6ea416387f00a8b3c (diff) | |
| download | focaccia-qemu-b5d66e0dd8dda3d58e58dafa425372d158bed3e8.tar.gz focaccia-qemu-b5d66e0dd8dda3d58e58dafa425372d158bed3e8.zip | |
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>
Diffstat (limited to 'linux-user/arm/target_signal.h')
| -rw-r--r-- | linux-user/arm/target_signal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/arm/target_signal.h b/linux-user/arm/target_signal.h index 0998dd6dfa..1e7fb0cecb 100644 --- a/linux-user/arm/target_signal.h +++ b/linux-user/arm/target_signal.h @@ -22,4 +22,6 @@ typedef struct target_sigaltstack { #include "../generic/signal.h" #define TARGET_ARCH_HAS_SETUP_FRAME +#define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1 + #endif /* ARM_TARGET_SIGNAL_H */ |