add more; get it working

This commit is contained in:
Mark McCaskey
2019-03-25 11:58:44 -07:00
parent f66b024390
commit 4f98da710d
5 changed files with 96 additions and 7 deletions

View File

@ -136,6 +136,14 @@ pub fn _pthread_cond_destroy(_ctx: &mut Ctx, _a: i32) -> i32 {
debug!("emscripten::_pthread_cond_destroy");
0
}
pub fn _pthread_create(_ctx: &mut Ctx, _a: i32, _b: i32, _c: i32, _d: i32) -> i32 {
debug!("emscripten::_pthread_create");
0
}
pub fn _pthread_join(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 {
debug!("emscripten::_pthread_join");
0
}
pub fn _pthread_cond_init(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 {
debug!("emscripten::_pthread_cond_init");
0
@ -236,6 +244,9 @@ pub fn _getloadavg(_ctx: &mut Ctx, _loadavg: i32, _nelem: i32) -> i32 {
0
}
// round 2
pub fn nullFunc_di(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_di");
}
pub fn nullFunc_dii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_dii");
}
@ -245,21 +256,69 @@ pub fn nullFunc_diiii(_ctx: &mut Ctx, _index: i32) {
pub fn nullFunc_iiji(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiji");
}
pub fn nullFunc_iiid(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiid");
}
pub fn nullFunc_iij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iij");
}
pub fn nullFunc_iiiiiiiii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiiiiiii");
}
pub fn nullFunc_iiiiiiiiiii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiiiiiiiii");
}
pub fn nullFunc_iiiiijii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiiijii");
}
pub fn nullFunc_iiiijii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiijii");
}
pub fn nullFunc_iiiij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiij");
}
pub fn nullFunc_iiij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiij");
}
pub fn nullFunc_iijii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iijii");
}
pub fn nullFunc_iiiiji(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_iiiiji");
}
pub fn nullFunc_ij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_ij");
}
pub fn nullFunc_j(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_j");
}
pub fn nullFunc_jij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_jij");
}
pub fn nullFunc_jj(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_jj");
}
pub fn nullFunc_jjj(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_jjj");
}
pub fn nullFunc_jii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_jii");
}
pub fn nullFunc_jiij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_jiij");
}
pub fn nullFunc_vd(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_vd");
}
pub fn nullFunc_vid(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_vid");
}
pub fn nullFunc_viiiiiii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viiiiiii");
}
pub fn nullFunc_viiiij(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viiiij");
}
pub fn nullFunc_viiiiiiii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viiiiiiii");
}
@ -281,6 +340,9 @@ pub fn nullFunc_viij(_ctx: &mut Ctx, _index: i32) {
pub fn nullFunc_viiji(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viiji");
}
pub fn nullFunc_viijii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viijii");
}
pub fn nullFunc_viijiii(_ctx: &mut Ctx, _index: i32) {
debug!("emscripten::nullFunc_viijiii");
}

View File

@ -24,12 +24,6 @@ pub fn getprotobynumber(_ctx: &mut Ctx, _one: i32) -> i32 {
unimplemented!()
}
/// getpwuid
pub fn getpwuid(_ctx: &mut Ctx, _uid: i32) -> i32 {
debug!("emscripten::getpwuid");
unimplemented!()
}
/// sigdelset
pub fn sigdelset(_ctx: &mut Ctx, _one: i32, _two: i32) -> i32 {
debug!("emscripten::sigdelset");

View File

@ -1,4 +1,4 @@
use libc::{chroot as _chroot, printf as _printf};
use libc::{chroot as _chroot, printf as _printf, getpwuid as _getpwuid};
use wasmer_runtime_core::vm::Ctx;
@ -22,3 +22,10 @@ pub fn chroot(ctx: &mut Ctx, name_ptr: i32) -> i32 {
let name = emscripten_memory_pointer!(ctx.memory(0), name_ptr) as *const i8;
unsafe { _chroot(name) }
}
/// getpwuid
pub fn getpwuid(_ctx: &mut Ctx, uid: i32) -> i32 {
debug!("emscripten::getpwuid");
// REVIEW: this seems wrong
unsafe { _getpwuid(uid as u32) as _ }
}

View File

@ -38,3 +38,9 @@ pub fn chroot(ctx: &mut Ctx, name_ptr: i32) -> i32 {
debug!("emscripten::chroot");
unimplemented!()
}
/// getpwuid
pub fn getpwuid(_ctx: &mut Ctx, uid: i32) -> i32 {
debug!("emscripten::getpwuid");
unimplemented!()
}

View File

@ -657,6 +657,8 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject
"___cxa_free_exception" => func!(crate::emscripten_target::___cxa_free_exception),
"___resumeException" => func!(crate::emscripten_target::___resumeException),
"_dladdr" => func!(crate::emscripten_target::_dladdr),
"_pthread_create" => func!(crate::emscripten_target::_pthread_create),
"_pthread_join" => func!(crate::emscripten_target::_pthread_join),
"_pthread_cond_destroy" => func!(crate::emscripten_target::_pthread_cond_destroy),
"_pthread_cond_init" => func!(crate::emscripten_target::_pthread_cond_init),
"_pthread_cond_signal" => func!(crate::emscripten_target::_pthread_cond_signal),
@ -678,13 +680,28 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject
"_gethostbyname_r" => func!(crate::emscripten_target::_gethostbyname_r),
"_getloadavg" => func!(crate::emscripten_target::_getloadavg),
// round 2
"nullFunc_di" => func!(crate::emscripten_target::nullFunc_di),
"nullFunc_dii" => func!(crate::emscripten_target::nullFunc_dii),
"nullFunc_diiii" => func!(crate::emscripten_target::nullFunc_diiii),
"nullFunc_iiid" => func!(crate::emscripten_target::nullFunc_iiid),
"nullFunc_iiji" => func!(crate::emscripten_target::nullFunc_iiji),
"nullFunc_iij" => func!(crate::emscripten_target::nullFunc_iij),
"nullFunc_ij" => func!(crate::emscripten_target::nullFunc_ij),
"nullFunc_j" => func!(crate::emscripten_target::nullFunc_j),
"nullFunc_jij" => func!(crate::emscripten_target::nullFunc_jij),
"nullFunc_jj" => func!(crate::emscripten_target::nullFunc_jj),
"nullFunc_jjj" => func!(crate::emscripten_target::nullFunc_jjj),
"nullFunc_jii" => func!(crate::emscripten_target::nullFunc_jii),
"nullFunc_jiij" => func!(crate::emscripten_target::nullFunc_jiij),
"nullFunc_vd" => func!(crate::emscripten_target::nullFunc_vd),
"nullFunc_iiiiiiiii" => func!(crate::emscripten_target::nullFunc_iiiiiiiii),
"nullFunc_iiiiiiiiiii" => func!(crate::emscripten_target::nullFunc_iiiiiiiiiii),
"nullFunc_iiiiijii" => func!(crate::emscripten_target::nullFunc_iiiiijii),
"nullFunc_iiiij" => func!(crate::emscripten_target::nullFunc_iiiij),
"nullFunc_iiij" => func!(crate::emscripten_target::nullFunc_iiij),
"nullFunc_iiiiji" => func!(crate::emscripten_target::nullFunc_iiiiji),
"nullFunc_iijii" => func!(crate::emscripten_target::nullFunc_iijii),
"nullFunc_iiiijii" => func!(crate::emscripten_target::nullFunc_iiiijii),
"nullFunc_viiiiiii" => func!(crate::emscripten_target::nullFunc_viiiiiii),
"nullFunc_viiiiiiii" => func!(crate::emscripten_target::nullFunc_viiiiiiii),
"nullFunc_viiiiiiiii" => func!(crate::emscripten_target::nullFunc_viiiiiiiii),
@ -693,9 +710,12 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject
"nullFunc_viiijiiiiii" => func!(crate::emscripten_target::nullFunc_viiijiiiiii),
"nullFunc_viij" => func!(crate::emscripten_target::nullFunc_viij),
"nullFunc_viiji" => func!(crate::emscripten_target::nullFunc_viiji),
"nullFunc_viijii" => func!(crate::emscripten_target::nullFunc_viijii),
"nullFunc_viiiij" => func!(crate::emscripten_target::nullFunc_viiiij),
"nullFunc_viijiii" => func!(crate::emscripten_target::nullFunc_viijiii),
"nullFunc_viijj" => func!(crate::emscripten_target::nullFunc_viijj),
"nullFunc_vij" => func!(crate::emscripten_target::nullFunc_vij),
"nullFunc_vid" => func!(crate::emscripten_target::nullFunc_vid),
"nullFunc_viji" => func!(crate::emscripten_target::nullFunc_viji),
"nullFunc_vijiii" => func!(crate::emscripten_target::nullFunc_vijiii),
"nullFunc_vijj" => func!(crate::emscripten_target::nullFunc_vijj),