authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-08 03:03:19+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-09 16:56:23+02:00
log3822af14071ec2ffe03427079c343549f0143d9b
treece68c32d6a0ce0314005b96e331712f5fe701cec
parentdc169ff2b5183471110f84103c11c59f56309210
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std: fix stack alignment instruction in csky _start and clone assembly

andi zero-extends its operand so this usage doesn't assemble; use andni instead.

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

lib/std/os/linux/csky.zig+1-1
...@@ -120,7 +120,7 @@ pub fn clone() callconv(.naked) u32 {...@@ -120,7 +120,7 @@ pub fn clone() callconv(.naked) u32 {
120 \\ mov t0, r4120 \\ mov t0, r4
121 \\ mov t1, r7121 \\ mov t1, r7
122 \\122 \\
123 \\ andi r1, r1, -8123 \\ andni r1, r1, 7
124 \\124 \\
125 \\ subi r1, 8125 \\ subi r1, 8
126 \\ stw r0, (r1, 0)126 \\ stw r0, (r1, 0)
lib/std/start.zig+1-1
...@@ -282,7 +282,7 @@ fn _start() callconv(.naked) noreturn {...@@ -282,7 +282,7 @@ fn _start() callconv(.naked) noreturn {
282 \\ movi r8, 0282 \\ movi r8, 0
283 \\ movi lr, 0283 \\ movi lr, 0
284 \\ mov a0, sp284 \\ mov a0, sp
285 \\ andi sp, sp, -8285 \\ andni sp, sp, 7
286 \\ lrw t1, %[posixCallMainAndExit]@GOTOFF286 \\ lrw t1, %[posixCallMainAndExit]@GOTOFF
287 \\ addu t1, gb287 \\ addu t1, gb
288 \\ jmp t1288 \\ jmp t1