From 834202bf985c257b2bf79df7cb804af9cb0ca422 Mon Sep 17 00:00:00 2001 From: Koakuma Date: Mon, 27 Sep 2021 21:00:07 +0700 Subject: [PATCH] SPARCv9: Fix freeAndExit implementation This fixes the wrong branch target and register check. (https://github.com/ziglang/zig/issues/9801) --- lib/std/Thread.zig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index ae3a3e9d9e..625255d411 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -813,12 +813,11 @@ const LinuxThreadImpl = struct { \\ # force-deactivate it by running `restore` until \\ # all frames are cleared. \\ 1: - \\ cmp %%sp, 0 + \\ cmp %%fp, 0 \\ beq 2f \\ nop + \\ ba 1b \\ restore - \\ ba 1f - \\ nop \\ 2: \\ mov 73, %%g1 \\ mov %[ptr], %%o0