diff --git a/vlib/builtin/linux_bare/linux_syscalls.v b/vlib/builtin/linux_bare/linux_syscalls.v index f08098816f..e30aeb533d 100644 --- a/vlib/builtin/linux_bare/linux_syscalls.v +++ b/vlib/builtin/linux_bare/linux_syscalls.v @@ -307,7 +307,7 @@ fn sys_dup2(oldfd int, newfd int) (i64, Errno) { // 59 sys_execve fn sys_execve(filename &u8, argv []&u8, envp []&u8) int { - return int(sys_call3(59, u64(filename), argv.data, envp.data)) + return int(sys_call3(59, u64(filename), u64(argv.data), u64(envp.data))) } // 60 sys_exit diff --git a/vlib/dlmalloc/dlmalloc.v b/vlib/dlmalloc/dlmalloc.v index 069faa3a85..5b5d6d93d0 100644 --- a/vlib/dlmalloc/dlmalloc.v +++ b/vlib/dlmalloc/dlmalloc.v @@ -1048,7 +1048,8 @@ fn (mut dl Dlmalloc) init_bins() { @[unsafe] fn (mut dl Dlmalloc) init_top(ptr &Chunk, size_ usize) { - offset := align_offset_usize(ptr.to_mem()) + pmem := ptr.to_mem() + offset := align_offset_usize(usize(pmem)) mut p := ptr.plus_offset(offset) size := size_ - offset @@ -1301,7 +1302,8 @@ fn (mut dl Dlmalloc) add_segment(tbase voidptr, tsize usize, flags u32) { ssize := pad_request(sizeof(Segment)) mut offset := ssize + sizeof(usize) * 4 + malloc_alignment() - 1 rawsp := voidptr(usize(old_end) - offset) - offset = align_offset_usize((&Chunk(rawsp)).to_mem()) + pmem := (&Chunk(rawsp)).to_mem() + offset = align_offset_usize(usize(pmem)) asp := voidptr(usize(rawsp) + offset) csp := if asp < voidptr(usize(old_top) + min_chunk_size()) { old_top } else { asp } mut sp := &Chunk(csp)