Make emscripten work again

This commit is contained in:
Syrus
2019-01-24 13:04:12 -08:00
parent c745d38a39
commit fc1b255d40
16 changed files with 297 additions and 290 deletions

View File

@ -2,24 +2,24 @@
use wasmer_runtime_core::vm::Ctx;
#[allow(clippy::cast_ptr_alignment)]
pub extern "C" fn _sigemptyset(set: u32, vmctx: &mut Ctx) -> i32 {
pub extern "C" fn _sigemptyset(set: u32, ctx: &mut Ctx) -> i32 {
debug!("emscripten::_sigemptyset");
let set_addr = vmctx.memory(0)[set as usize] as *mut u32;
let set_addr = emscripten_memory_pointer!(ctx.memory(0), set) as *mut u32;
unsafe {
*set_addr = 0;
}
0
}
pub extern "C" fn _sigaction(signum: u32, act: u32, oldact: u32, _vmctx: &mut Ctx) -> i32 {
pub extern "C" fn _sigaction(signum: u32, act: u32, oldact: u32, _ctx: &mut Ctx) -> i32 {
debug!("emscripten::_sigaction {}, {}, {}", signum, act, oldact);
0
}
#[allow(clippy::cast_ptr_alignment)]
pub extern "C" fn _sigaddset(set: u32, signum: u32, vmctx: &mut Ctx) -> i32 {
pub extern "C" fn _sigaddset(set: u32, signum: u32, ctx: &mut Ctx) -> i32 {
debug!("emscripten::_sigaddset {}, {}", set, signum);
let set_addr = vmctx.memory(0)[set as usize] as *mut u32;
let set_addr = emscripten_memory_pointer!(ctx.memory(0), set) as *mut u32;
unsafe {
*set_addr |= 1 << (signum - 1);
}
@ -31,7 +31,7 @@ pub extern "C" fn _sigprocmask() -> i32 {
0
}
pub extern "C" fn _signal(sig: u32, _vmctx: &mut Ctx) -> i32 {
pub extern "C" fn _signal(sig: u32, _ctx: &mut Ctx) -> i32 {
debug!("emscripten::_signal ({})", sig);
0
}