authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-15 06:20:30+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-15 06:20:59+02:00
log06572679616ab0d92b7af8a3674b3c21f7106cf5
tree0036bd7559bb5e1d6a9813e520928d3bcf6c74bc
parent906bf82596bf50e9396568df0144b3cbb3001199
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.linux.or1k: fix swapped ctid/tls in clone()


1 files changed, 4 insertions(+), 4 deletions(-)

lib/std/os/linux/or1k.zig+4-4
......@@ -120,8 +120,8 @@ pub fn clone() callconv(.naked) u32 {
120120 // __clone(func, stack, flags, arg, ptid, tls, ctid)
121121 // r3, r4, r5, r6, r7, r8, +0
122122 //
123 // syscall(SYS_clone, flags, stack, ptid, tls, ctid)
124 // r11 r3, r4, r5, r6, r7
123 // syscall(SYS_clone, flags, stack, ptid, ctid, tls)
124 // r11 r3, r4, r5, r6, r7
125125 asm volatile (
126126 \\ # Save function pointer and argument pointer on new thread stack
127127 \\ l.addi r13, r0, -4
......@@ -134,8 +134,8 @@ pub fn clone() callconv(.naked) u32 {
134134 \\ l.ori r11, r0, 220 # SYS_clone
135135 \\ l.ori r3, r5, 0
136136 \\ l.ori r5, r7, 0
137 \\ l.ori r6, r8, 0
138 \\ l.lwz r7, 0(r1)
137 \\ l.lwz r6, 0(r1)
138 \\ l.ori r7, r8, 0
139139 \\ l.sys 1
140140 \\ l.sfeqi r11, 0
141141 \\ l.bf 1f