fixups to linux build

This commit is contained in:
Andrew Kelley 2017-08-27 00:28:17 -04:00
parent 29a418c9d5
commit b59aa7b906
3 changed files with 12 additions and 11 deletions

View File

@ -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) {

View File

@ -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) {

View File

@ -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"