summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-07-29 13:19:42 -0700
committerAlistair Francis <alistair.francis@wdc.com>2022-08-02 08:56:49 +1000
commit1eaa63429a9944265c92efdb94c02fabb231f564 (patch)
tree53f6779afcafe4ba19f269cdc608d3a0ed6b7eef
parent0e0c2cf6de0bc6538840837c63b25817cd417347 (diff)
downloadfocaccia-qemu-1eaa63429a9944265c92efdb94c02fabb231f564.tar.gz
focaccia-qemu-1eaa63429a9944265c92efdb94c02fabb231f564.zip
linux-user/riscv: Align signal frame to 16 bytes
Follow the kernel's alignment, as we already noted.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1093
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220729201942.30738-1-richard.henderson@linaro.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-rw-r--r--linux-user/riscv/signal.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c
index 296e39fbf0..eaa168199a 100644
--- a/linux-user/riscv/signal.c
+++ b/linux-user/riscv/signal.c
@@ -64,9 +64,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka,
 
     /* This is the X/Open sanctioned signal stack switching.  */
     sp = target_sigsp(sp, ka) - framesize;
-
-    /* XXX: kernel aligns with 0xf ? */
-    sp &= ~3UL; /* align sp on 4-byte boundary */
+    sp &= ~0xf;
 
     return sp;
 }