Add several more syscalls

This commit is contained in:
Lachlan Sneff 2018-11-26 16:06:27 -05:00
parent ec9e83eca6
commit bd3b78ccc8
4 changed files with 11 additions and 7 deletions

View File

@ -8,7 +8,6 @@ use libc::{
use std::ffi::CStr;
use std::os::raw::c_char;
use std::{slice, mem};
use std::time::SystemTime;
use crate::webassembly::Instance;
<<<<<<< HEAD
@ -114,3 +113,7 @@ pub extern fn _localtime_r() -> u32 {
pub extern fn _getpagesize() -> u32 {
LinearMemory::PAGE_SIZE
}
pub extern fn _prlimit(pid: c_int, resource: c_int, new_limit: c_int, old_limit: c_int, instance: &mut Instance) -> c_int {
0
}

View File

@ -21,7 +21,8 @@ pub extern "C" fn _emscripten_memcpy_big(
/// emscripten: getTotalMemory
pub extern "C" fn get_total_memory(instance: &mut Instance) -> u32 {
debug!("emscripten::get_total_memory");
instance.memories[0].current_pages()
// instance.memories[0].current_pages()
16777216
}
/// emscripten: enlargeMemory

View File

@ -57,9 +57,9 @@ pub fn emscripten_set_up_memory(memory: &mut LinearMemory) {
macro_rules! mock_external {
($import:ident, $name:ident) => {{
fn _mocked_fn() -> i32 {
extern fn _mocked_fn() -> i32 {
println!("emscripten::{} <mock>", stringify!($name));
0
-1
}
$import.set(
"env",
@ -293,7 +293,7 @@ pub fn generate_emscripten_env<'a, 'b>() -> ImportObject<&'a str, &'b str> {
import_object.set(
"env",
"_clock_gettime",
ImportValue::Func(env::_clock_gettime as _),
ImportValue::Func(time::_clock_gettime as _),
);
import_object.set(
"env",

View File

@ -1,5 +1,5 @@
use libc::{gettimeofday, timeval, c_int, clock_gettime, clockid_t, timespec};
use std::ptr;
use libc::{timeval, c_int, clock_gettime as libc_clock_gettime, timespec};
use std::time::SystemTime;
use crate::webassembly::Instance;