From 71a0bc027304562f7c6ffc5acc95c3ee11c7cf1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sat, 8 Aug 2026 20:27:51 +0200 Subject: [PATCH] std.os.linux.alpha: fix some bugs in the clone assembly --- lib/std/os/linux/alpha.zig | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/std/os/linux/alpha.zig b/lib/std/os/linux/alpha.zig index 20bf4bd14bbceacc74e2e9328dcfac74c7603b46..82baf15f167215bc94e6a2f705c1f1e34dc5cb04 100644 --- a/lib/std/os/linux/alpha.zig +++ b/lib/std/os/linux/alpha.zig @@ -295,8 +295,8 @@ pub fn clone() callconv(.naked) u64 { // a0 = $16, a1 = $17, a2 = $18, a3 = $19, // a4 = $20, a5 = $21, sp = $30, v0 = $0 \\ # Save function pointer and argument pointer on new thread stack - \\ ldi $1, -8 - \\ and $17, $17, $1 + \\ ldi $1, -16 + \\ and $17, $1, $17 \\ lda $17, -16($17) \\ stq $16, 0($17) \\ stq $19, 8($17) @@ -323,16 +323,16 @@ pub fn clone() callconv(.naked) u64 { \\ .cfi_undefined $26 ); asm volatile ( - // v0 = $0, t9 = $23, a0 = $16, ra = $26, sp = $30, fp = $15 + // v0 = $0, a0 = $16, ra = $26, sp = $30, fp = $15, pv = $27 \\ mov 0, $15 \\ - \\ ldq $23, 0($30) + \\ ldq $27, 0($30) \\ ldq $16, 8($30) \\ lda $30, 16($30) - \\ jsr $26, ($23) + \\ jsr $26, ($27) \\ \\ mov $0, $16 - \\ ldi $0, 1 # SYS_EXIT + \\ ldi $0, 1 # SYS_exit \\ callsys ); } @@ -341,7 +341,7 @@ pub fn restore() noreturn { asm volatile ( // v0 = $0, a0 = $16, sp = $30 \\ mov $30, $16 - \\ ldi $0, 103 # SIGRETURN + \\ ldi $0, 103 # SYS_sigreturn \\ callsys ); } @@ -350,7 +350,7 @@ pub fn restore_rt() noreturn { asm volatile ( // v0 = $0, a0 = $16, sp = $30 \\ mov $30, $16 - \\ ldi $0, 351 # RT_SIGRETURN + \\ ldi $0, 351 # SYS_rt_sigreturn \\ callsys ); } -- 2.54.0