OSDN Git Service

linux-user/riscv: Align signal frame to 16 bytes
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 29 Jul 2022 20:19:42 +0000 (13:19 -0700)
committerAlistair Francis <alistair.francis@wdc.com>
Mon, 1 Aug 2022 22:56:49 +0000 (08:56 +1000)
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>
linux-user/riscv/signal.c

index 296e39f..eaa1681 100644 (file)
@@ -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;
 }