authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-08-18 02:22:25+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-08-19 08:38:05+02:00
log8e4feca8abbef78567ef789e6c8d8316ebe09119
treecfc0bb7e5d0c0dda188042f9f12a39d658f0f87a
parent0f78f8244f3a8fd7a24200eb441287f6e6907d5b

std.Thread: Implement freeAndExit() for s390x.


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

lib/std/Thread.zig+11
...@@ -1188,6 +1188,17 @@ const LinuxThreadImpl = struct {...@@ -1188,6 +1188,17 @@ const LinuxThreadImpl = struct {
1188 [len] "r" (self.mapped.len),1188 [len] "r" (self.mapped.len),
1189 : "memory"1189 : "memory"
1190 ),1190 ),
1191 .s390x => asm volatile (
1192 \\ lgr %%r2, %[ptr]
1193 \\ lgr %%r3, %[len]
1194 \\ svc 91 # SYS_munmap
1195 \\ lghi %%r2, 0
1196 \\ svc 1 # SYS_exit
1197 :
1198 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
1199 [len] "r" (self.mapped.len),
1200 : "memory"
1201 ),
1191 .sparc => asm volatile (1202 .sparc => asm volatile (
1192 \\ # See sparc64 comments below.1203 \\ # See sparc64 comments below.
1193 \\ 1:1204 \\ 1: