Add Rust impl of wasmtime_ssp_proc_exit

This commit is contained in:
Jakub Konka
2019-04-27 10:57:35 +02:00
committed by Dan Gohman
parent e906370661
commit 69e44caa29
5 changed files with 8 additions and 11 deletions

View File

@@ -810,10 +810,6 @@ __wasi_errno_t wasmtime_ssp_poll_oneoff(
size_t *nevents
) WASMTIME_SSP_SYSCALL_NAME(poll_oneoff) __attribute__((__warn_unused_result__));
_Noreturn void wasmtime_ssp_proc_exit(
__wasi_exitcode_t rval
) WASMTIME_SSP_SYSCALL_NAME(proc_exit);
__wasi_errno_t wasmtime_ssp_proc_raise(
__wasi_signal_t sig
) WASMTIME_SSP_SYSCALL_NAME(proc_raise) __attribute__((__warn_unused_result__));

View File

@@ -2530,12 +2530,6 @@ __wasi_errno_t wasmtime_ssp_poll_oneoff(
return error;
}
void wasmtime_ssp_proc_exit(
__wasi_exitcode_t rval
) {
_Exit(rval);
}
__wasi_errno_t wasmtime_ssp_proc_raise(
__wasi_signal_t sig
) {

View File

@@ -0,0 +1,5 @@
use super::wasm32;
pub fn wasmtime_ssp_proc_exit(rval: wasm32::__wasi_exitcode_t) {
::std::process::exit(rval as i32)
}

View File

@@ -10,6 +10,7 @@ extern crate wasmtime_runtime;
extern crate log;
mod host;
mod host_impls;
mod instantiate;
mod syscalls;
mod translate;

View File

@@ -2,6 +2,7 @@ use crate::host::{argv_environ_values, fd_prestats, fd_table};
use crate::instantiate::WASIState;
use cranelift_codegen::ir::types::{Type, I32, I64};
use host;
use host_impls;
use std::{ptr, slice, str};
use translate::*;
use wasm32;
@@ -1383,7 +1384,7 @@ syscalls! {
// TODO: Rather than call __wasi_proc_exit here, we should trigger a
// stack unwind similar to a trap.
host::wasmtime_ssp_proc_exit(rval);
host_impls::wasmtime_ssp_proc_exit(rval);
}
pub unsafe extern "C" fn proc_raise(