authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-26 08:05:09+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-26 08:11:04+02:00
logb0bda2d744f2f68a3edb7d948f7dc40cec2fef5e
treee56d1429e3477d4728b952edebe3facc09463194
parentecc47695efd1a81e8d713376a54944f5312cd6eb
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Thread: implement LinuxThreadImpl.freeAndExit() for xtensa


1 files changed, 10 insertions(+), 0 deletions(-)

lib/std/Thread.zig+10
......@@ -1411,6 +1411,16 @@ const LinuxThreadImpl = struct {
14111411 : [ptr] "{r4}" (@intFromPtr(self.mapped.ptr)),
14121412 [len] "{r5}" (self.mapped.len),
14131413 : .{ .memory = true }),
1414 .xtensa, .xtensaeb => asm volatile (
1415 \\ movi a2, 81 // SYS_munmap
1416 \\ syscall
1417 \\ movi a6, 0
1418 \\ movi a2, 118 // SYS_exit
1419 \\ syscall
1420 :
1421 : [ptr] "{a6}" (@intFromPtr(self.mapped.ptr)),
1422 [len] "{a3}" (self.mapped.len),
1423 : .{ .memory = true }),
14141424 else => |cpu_arch| @compileError("Unsupported linux arch: " ++ @tagName(cpu_arch)),
14151425 }
14161426 unreachable;