From 06572679616ab0d92b7af8a3674b3c21f7106cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Tue, 15 Sep 2026 06:20:30 +0200 Subject: [PATCH] std.os.linux.or1k: fix swapped ctid/tls in clone() --- lib/std/os/linux/or1k.zig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/std/os/linux/or1k.zig b/lib/std/os/linux/or1k.zig index a54b9bd43ff5464c29d920d222c4988440a267d7..2b34a200569292ebd89e6485ce27695788c6a46a 100644 --- a/lib/std/os/linux/or1k.zig +++ b/lib/std/os/linux/or1k.zig @@ -120,8 +120,8 @@ pub fn clone() callconv(.naked) u32 { // __clone(func, stack, flags, arg, ptid, tls, ctid) // r3, r4, r5, r6, r7, r8, +0 // - // syscall(SYS_clone, flags, stack, ptid, tls, ctid) - // r11 r3, r4, r5, r6, r7 + // syscall(SYS_clone, flags, stack, ptid, ctid, tls) + // r11 r3, r4, r5, r6, r7 asm volatile ( \\ # Save function pointer and argument pointer on new thread stack \\ l.addi r13, r0, -4 @@ -134,8 +134,8 @@ pub fn clone() callconv(.naked) u32 { \\ l.ori r11, r0, 220 # SYS_clone \\ l.ori r3, r5, 0 \\ l.ori r5, r7, 0 - \\ l.ori r6, r8, 0 - \\ l.lwz r7, 0(r1) + \\ l.lwz r6, 0(r1) + \\ l.ori r7, r8, 0 \\ l.sys 1 \\ l.sfeqi r11, 0 \\ l.bf 1f -- 2.54.0