| author | |
| committer | |
| log | fe314e60bbb2861484241a81d3d6185dbb60d1e8 |
| tree | c985f745bd117c8374be334bb481a7dc29c81fa0 |
| parent | 09992f8acc2432080409c3c3b32cab52bc8a3d91 |
2 files changed, 6 insertions(+), 5 deletions(-)
lib/std/os/plan9.zig+2-2| ... | ... | @@ -60,8 +60,8 @@ pub const SYS = enum(usize) { |
| 60 | 60 | _NSEC = 53, |
| 61 | 61 | }; |
| 62 | 62 | |
| 63 | pub fn pwrite(fd: usize, buf: [*]const u8, count: usize, offset: usize) void { | |
| 64 | syscall_bits.syscall4(.PWRITE, fd, @ptrToInt(buf), count, offset); | |
| 63 | pub fn pwrite(fd: usize, buf: [*]const u8, count: usize, offset: usize) usize { | |
| 64 | return syscall_bits.syscall4(.PWRITE, fd, @ptrToInt(buf), count, offset); | |
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | pub fn exits(status: ?[*:0]const u8) void { |
lib/std/os/plan9/x86_64.zig+4-3| ... | ... | @@ -2,8 +2,8 @@ const plan9 = @import("../plan9.zig"); |
| 2 | 2 | // TODO get ret from inline asm |
| 3 | 3 | // TODO better inline asm |
| 4 | 4 | |
| 5 | pub fn syscall4(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize, arg3: usize) void { | |
| 6 | asm volatile ( | |
| 5 | pub fn syscall4(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize, arg3: usize) usize { | |
| 6 | return asm volatile ( | |
| 7 | 7 | \\push %%r11 |
| 8 | 8 | \\push %%r10 |
| 9 | 9 | \\push %%r9 |
| ... | ... | @@ -15,7 +15,8 @@ pub fn syscall4(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize, arg3: usi |
| 15 | 15 | \\pop %%r11 |
| 16 | 16 | \\pop %%r11 |
| 17 | 17 | \\pop %%r11 |
| 18 | : | |
| 18 | : [ret] "={rax}" (-> usize), | |
| 19 | // : | |
| 19 | 20 | : [arg0] "{r8}" (arg0), |
| 20 | 21 | [arg1] "{r9}" (arg1), |
| 21 | 22 | [arg2] "{r10}" (arg2), |