Added emscripten ___syscall201 and ___syscall202

This commit is contained in:
Syrus Akbary 2018-11-26 13:59:18 -08:00
parent c3813fedea
commit 8876ade624
2 changed files with 32 additions and 2 deletions

View File

@ -215,6 +215,16 @@ pub fn generate_emscripten_env<'a, 'b>() -> ImportObject<&'a str, &'b str> {
"___syscall122",
ImportValue::Func(syscalls::___syscall122 as *const u8),
);
import_object.set(
"env",
"___syscall201",
ImportValue::Func(syscalls::___syscall201 as *const u8),
);
import_object.set(
"env",
"___syscall202",
ImportValue::Func(syscalls::___syscall202 as *const u8),
);
// Process
import_object.set(
"env",
@ -385,7 +395,7 @@ pub fn generate_emscripten_env<'a, 'b>() -> ImportObject<&'a str, &'b str> {
mock_external!(import_object, ___syscall221);
mock_external!(import_object, ___syscall220);
mock_external!(import_object, ___syscall212);
mock_external!(import_object, ___syscall201);
// mock_external!(import_object, ___syscall201);
mock_external!(import_object, ___syscall199);
mock_external!(import_object, ___syscall197);
mock_external!(import_object, ___syscall196);

View File

@ -11,7 +11,8 @@ use libc::{
getsockname, getpeername,
sendto, recvfrom, setsockopt,
getsockopt, sendmsg, recvmsg,
msghdr, getpid, getppid, pid_t
msghdr, getpid, getppid, pid_t,
gid_t, getgid
};
use macros;
@ -260,3 +261,22 @@ pub extern "C" fn ___syscall64() -> pid_t {
getpid()
}
}
// sys_getgid
pub extern "C" fn ___syscall201() -> gid_t {
debug!("emscripten::___syscall201");
unsafe {
// Maybe fix: Emscripten returns 0 always
getgid()
}
}
// sys_getgid32
pub extern "C" fn ___syscall202() -> gid_t {
debug!("emscripten::___syscall202");
unsafe {
// Maybe fix: Emscripten returns 0 always
getgid()
}
}