Commit f6c06d7069

Alex Rønne Petersen <alex@alexrp.com>
2025-10-21 06:10:04
std.Thread: implement freeAndExit() for hppa-linux
1 parent de87c85
Changed files (1)
lib
lib/std/Thread.zig
@@ -1259,6 +1259,18 @@ const LinuxThreadImpl = struct {
                     : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
                       [len] "r" (self.mapped.len),
                     : .{ .memory = true }),
+                .hppa => asm volatile (
+                    \\ ldi 91, %%r20 /* SYS_munmap */
+                    \\ copy %[ptr], %%r26
+                    \\ copy %[len], %%r25
+                    \\ ble 0x100(%%sr2, %%r0)
+                    \\ ldi 1, %%r20 /* SYS_exit */
+                    \\ ldi 0, %%r26
+                    \\ ble 0x100(%%sr2, %%r0)
+                    :
+                    : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
+                      [len] "r" (self.mapped.len),
+                    : .{ .memory = true }),
                 .m68k => asm volatile (
                     \\ move.l #91, %%d0 // SYS_munmap
                     \\ move.l %[ptr], %%d1