aboutsummaryrefslogtreecommitdiff
path: root/linux-user/arm/target_signal.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-09-29 09:05:32 -0400
committerLaurent Vivier <laurent@vivier.eu>2021-10-01 12:03:48 +0200
commitb5d66e0dd8dda3d58e58dafa425372d158bed3e8 (patch)
tree98df834fcf15df7a09636614545cc19dc215049d /linux-user/arm/target_signal.h
parentb807a1087ed864f6c37ccbf6ea416387f00a8b3c (diff)
downloadqemu-b5d66e0dd8dda3d58e58dafa425372d158bed3e8.zip
qemu-b5d66e0dd8dda3d58e58dafa425372d158bed3e8.tar.gz
qemu-b5d66e0dd8dda3d58e58dafa425372d158bed3e8.tar.bz2
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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/arm/target_signal.h b/linux-user/arm/target_signal.h
index 0998dd6..1e7fb0c 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 */