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::ffi::CStr;
use std::os::raw::c_char; use std::os::raw::c_char;
use std::{slice, mem}; use std::{slice, mem};
use std::time::SystemTime;
use crate::webassembly::Instance; use crate::webassembly::Instance;
<<<<<<< HEAD <<<<<<< HEAD
@ -114,3 +113,7 @@ pub extern fn _localtime_r() -> u32 {
pub extern fn _getpagesize() -> u32 { pub extern fn _getpagesize() -> u32 {
LinearMemory::PAGE_SIZE 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 /// emscripten: getTotalMemory
pub extern "C" fn get_total_memory(instance: &mut Instance) -> u32 { pub extern "C" fn get_total_memory(instance: &mut Instance) -> u32 {
debug!("emscripten::get_total_memory"); debug!("emscripten::get_total_memory");
instance.memories[0].current_pages() // instance.memories[0].current_pages()
16777216
} }
/// emscripten: enlargeMemory /// emscripten: enlargeMemory

View File

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

View File

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