diff options
author | Thomas Weißschuh <thomas@t-8ch.de> | 2025-07-09 22:57:16 +0200 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2025-07-10 13:49:03 -0600 |
commit | 91748d50c7ef4addcc9302160a4b8b3c63d5d024 (patch) | |
tree | 33622fdfd492f63765ccf6c826922571f58b5409 | |
parent | cb8607b89ffbba905eac3af595d1db974d2ffc5d (diff) | |
download | qemu-91748d50c7ef4addcc9302160a4b8b3c63d5d024.zip qemu-91748d50c7ef4addcc9302160a4b8b3c63d5d024.tar.gz qemu-91748d50c7ef4addcc9302160a4b8b3c63d5d024.tar.bz2 |
linux-user/mips/o32: Drop sa_restorer functionality
The Linux kernel dropped support for sa_restorer on O32 MIPS in the
release 2.5.48 because it was unused. See the comment in
arch/mips/include/uapi/asm/signal.h.
Applications using the kernels UAPI headers will not reserve enough
space for qemu-user to copy the sigaction.sa_restorer field to.
Unrelated data may be overwritten.
Align qemu-user with the kernel by also dropping sa_restorer support.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250709-mips-sa-restorer-v1-1-fc17120e4afe@t-8ch.de>
-rw-r--r-- | linux-user/mips/target_signal.h | 1 | ||||
-rw-r--r-- | linux-user/syscall_defs.h | 4 |
2 files changed, 0 insertions, 5 deletions
diff --git a/linux-user/mips/target_signal.h b/linux-user/mips/target_signal.h index fa542c1..4481426 100644 --- a/linux-user/mips/target_signal.h +++ b/linux-user/mips/target_signal.h @@ -64,7 +64,6 @@ typedef struct target_sigaltstack { #define TARGET_SA_NODEFER 0x40000000 #define TARGET_SA_RESTART 0x10000000 #define TARGET_SA_RESETHAND 0x80000000 -#define TARGET_SA_RESTORER 0x04000000 /* Only for O32 */ #define TARGET_MINSIGSTKSZ 2048 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 5d22759..df26a2d 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -515,10 +515,6 @@ struct target_sigaction { abi_ulong _sa_handler; #endif target_sigset_t sa_mask; -#ifdef TARGET_ARCH_HAS_SA_RESTORER - /* ??? This is always present, but ignored unless O32. */ - abi_ulong sa_restorer; -#endif }; #else struct target_old_sigaction { |