diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-08-18 02:22:25 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-08-19 08:38:05 +0200 |
| commit | 8e4feca8abbef78567ef789e6c8d8316ebe09119 (patch) | |
| tree | cfc0bb7e5d0c0dda188042f9f12a39d658f0f87a /lib/std/Thread.zig | |
| parent | 0f78f8244f3a8fd7a24200eb441287f6e6907d5b (diff) | |
| download | zig-8e4feca8abbef78567ef789e6c8d8316ebe09119.tar.gz zig-8e4feca8abbef78567ef789e6c8d8316ebe09119.zip | |
std.Thread: Implement freeAndExit() for s390x.
Diffstat (limited to 'lib/std/Thread.zig')
| -rw-r--r-- | lib/std/Thread.zig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index 323bf22384..e07c02baa3 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -1188,6 +1188,17 @@ const LinuxThreadImpl = struct { [len] "r" (self.mapped.len), : "memory" ), + .s390x => asm volatile ( + \\ lgr %%r2, %[ptr] + \\ lgr %%r3, %[len] + \\ svc 91 # SYS_munmap + \\ lghi %%r2, 0 + \\ svc 1 # SYS_exit + : + : [ptr] "r" (@intFromPtr(self.mapped.ptr)), + [len] "r" (self.mapped.len), + : "memory" + ), .sparc => asm volatile ( \\ # See sparc64 comments below. \\ 1: |
