Commit b59aa7b906

Andrew Kelley <superjoe30@gmail.com>
2017-08-27 06:28:17
fixups to linux build
1 parent 29a418c
Changed files (3)
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"
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) {
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) {