aboutsummaryrefslogtreecommitdiff
path: root/std
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-08-27 00:28:17 -0400
committerAndrew Kelley <superjoe30@gmail.com>2017-08-27 00:28:17 -0400
commitb59aa7b906c984f182b8abc8fd3e146d956a799d (patch)
tree1bf098cca4430b8afda2ab0086b48494ad381636 /std
parent29a418c9d5b3b9c78b707e5b6a119d48ecce9a6a (diff)
downloadzig-b59aa7b906c984f182b8abc8fd3e146d956a799d.tar.gz
zig-b59aa7b906c984f182b8abc8fd3e146d956a799d.zip
fixups to linux build
Diffstat (limited to 'std')
-rw-r--r--std/debug.zig3
-rw-r--r--std/io.zig6
-rw-r--r--std/os/linux_x86_64.zig14
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"