diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-08-27 00:28:17 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-08-27 00:28:17 -0400 |
| commit | b59aa7b906c984f182b8abc8fd3e146d956a799d (patch) | |
| tree | 1bf098cca4430b8afda2ab0086b48494ad381636 | |
| parent | 29a418c9d5b3b9c78b707e5b6a119d48ecce9a6a (diff) | |
| download | zig-b59aa7b906c984f182b8abc8fd3e146d956a799d.tar.gz zig-b59aa7b906c984f182b8abc8fd3e146d956a799d.zip | |
fixups to linux build
| -rw-r--r-- | std/debug.zig | 3 | ||||
| -rw-r--r-- | std/io.zig | 6 | ||||
| -rw-r--r-- | std/os/linux_x86_64.zig | 14 |
3 files changed, 12 insertions, 11 deletions
diff --git a/std/debug.zig b/std/debug.zig index 922a72e11c..6d7138a551 100644 --- a/std/debug.zig +++ b/std/debug.zig @@ -721,7 +721,8 @@ fn getLineNumberInfo(st: &ElfStackTrace, compile_unit: &const CompileUnit, targe }); }, else => { - %return in_stream.seekForward(op_size - 1); + const fwd_amt = math.cast(isize, op_size - 1) %% return error.InvalidDebugInfo; + %return in_stream.seekForward(fwd_amt); }, } } else if (opcode >= opcode_base) { diff --git a/std/io.zig b/std/io.zig index 0e582e44e5..8a93b3df2c 100644 --- a/std/io.zig +++ b/std/io.zig @@ -328,7 +328,7 @@ pub const InStream = struct { return mem.readInt(input_slice, T, is_be); } - pub fn seekForward(is: &InStream, amount: usize) -> %void { + pub fn seekForward(is: &InStream, amount: isize) -> %void { switch (builtin.os) { Os.linux, Os.darwin => { const result = system.lseek(is.fd, amount, system.SEEK_CUR); @@ -351,7 +351,7 @@ pub const InStream = struct { pub fn seekTo(is: &InStream, pos: usize) -> %void { switch (builtin.os) { Os.linux, Os.darwin => { - const result = system.lseek(is.fd, pos, system.SEEK_SET); + const result = system.lseek(is.fd, @bitCast(isize, pos), system.SEEK_SET); const err = system.getErrno(result); if (err > 0) { return switch (err) { @@ -390,7 +390,7 @@ pub const InStream = struct { } pub fn getEndPos(is: &InStream) -> %usize { - var stat: system.stat = undefined; + var stat: system.Stat = undefined; const err = system.getErrno(system.fstat(is.fd, &stat)); if (err > 0) { return switch (err) { diff --git a/std/os/linux_x86_64.zig b/std/os/linux_x86_64.zig index 5fb050af24..658019da30 100644 --- a/std/os/linux_x86_64.zig +++ b/std/os/linux_x86_64.zig @@ -370,14 +370,14 @@ pub const F_GETOWN_EX = 16; pub const F_GETOWNER_UIDS = 17; -pub inline fn syscall0(number: usize) -> usize { +pub fn syscall0(number: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number) : "rcx", "r11") } -pub inline fn syscall1(number: usize, arg1: usize) -> usize { +pub fn syscall1(number: usize, arg1: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number), @@ -385,7 +385,7 @@ pub inline fn syscall1(number: usize, arg1: usize) -> usize { : "rcx", "r11") } -pub inline fn syscall2(number: usize, arg1: usize, arg2: usize) -> usize { +pub fn syscall2(number: usize, arg1: usize, arg2: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number), @@ -394,7 +394,7 @@ pub inline fn syscall2(number: usize, arg1: usize, arg2: usize) -> usize { : "rcx", "r11") } -pub inline fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) -> usize { +pub fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number), @@ -404,7 +404,7 @@ pub inline fn syscall3(number: usize, arg1: usize, arg2: usize, arg3: usize) -> : "rcx", "r11") } -pub inline fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize) -> usize { +pub fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number), @@ -415,7 +415,7 @@ pub inline fn syscall4(number: usize, arg1: usize, arg2: usize, arg3: usize, arg : "rcx", "r11") } -pub inline fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) -> usize { +pub fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) -> usize { asm volatile ("syscall" : [ret] "={rax}" (-> usize) : [number] "{rax}" (number), @@ -427,7 +427,7 @@ pub inline fn syscall5(number: usize, arg1: usize, arg2: usize, arg3: usize, arg : "rcx", "r11") } -pub inline fn syscall6(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize, +pub fn syscall6(number: usize, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize, arg6: usize) -> usize { asm volatile ("syscall" |
