authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-21 05:56:46+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-23 09:27:17+02:00
logde87c856e78fa8c9a92a7d9638c287fd70d7f235
tree7cf6017248f0ae3d697a4499c3f6f915167dcda9
parent3d1b7811d4a09a5f7377c2d4122aab9217ded4e0
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Thread: implement freeAndExit() for alpha-linux


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

lib/std/Thread.zig+12
......@@ -1235,6 +1235,18 @@ const LinuxThreadImpl = struct {
12351235 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12361236 [len] "r" (self.mapped.len),
12371237 : .{ .memory = true }),
1238 .alpha => asm volatile (
1239 \\ ldi $0, 73 # SYS_munmap
1240 \\ mov %[ptr], $16
1241 \\ mov %[len], $17
1242 \\ callsys
1243 \\ ldi $0, 1 # SYS_exit
1244 \\ ldi $16, 0
1245 \\ callsys
1246 :
1247 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
1248 [len] "r" (self.mapped.len),
1249 : .{ .memory = true }),
12381250 .hexagon => asm volatile (
12391251 \\ r6 = #215 // SYS_munmap
12401252 \\ r0 = %[ptr]