authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-09 01:40:19+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-09 17:53:03+02:00
logbf66a7d6b7f17a1404f65e1c53ca08ef4442cec4
tree7fafa98a6b0ff50635aea27efa3027d1006915bb
parent89f6d00cad6bd833f8a14baa03c844a531e61d31
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.linux.riscv32/64: align the child stack pointer in clone


2 files changed, 2 insertions(+), 0 deletions(-)

lib/std/os/linux/riscv32.zig+1
......@@ -116,6 +116,7 @@ pub fn clone() callconv(.naked) u32 {
116116 // syscall(SYS_clone, flags, stack, ptid, tls, ctid)
117117 // a7 a0, a1, a2, a3, a4
118118 asm volatile (
119 \\ andi a1, a1, -16
119120 \\ # Save func and arg to stack
120121 \\ addi a1, a1, -8
121122 \\ sw a0, 0(a1)
lib/std/os/linux/riscv64.zig+1
......@@ -116,6 +116,7 @@ pub fn clone() callconv(.naked) u64 {
116116 // syscall(SYS_clone, flags, stack, ptid, tls, ctid)
117117 // a7 a0, a1, a2, a3, a4
118118 asm volatile (
119 \\ andi a1, a1, -16
119120 \\ # Save func and arg to stack
120121 \\ addi a1, a1, -16
121122 \\ sd a0, 0(a1)