From 21bd55c30d69f21b2fa2bd6d8d69f5406d876d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Sun, 21 Apr 2019 12:58:48 +0200 Subject: [PATCH 01/32] Make the slice::from_raw_parts call safe --- lib/runtime-core/src/memory/atomic.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/runtime-core/src/memory/atomic.rs b/lib/runtime-core/src/memory/atomic.rs index f4ed3d3d0..f14415def 100644 --- a/lib/runtime-core/src/memory/atomic.rs +++ b/lib/runtime-core/src/memory/atomic.rs @@ -52,6 +52,7 @@ macro_rules! intcast { } intcast! { u8 i8 u16 i16 u32 i32 u64 i64 } +#[repr(transparent)] pub struct Atomic { v: UnsafeCell>, } From ef3996a1c8d4f4dda67a3f2bab89557c653bda1e Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Fri, 26 Apr 2019 18:45:18 -0700 Subject: [PATCH 02/32] Add extending WASI plugin example --- Cargo.lock | 4 +++ Cargo.toml | 6 ++++- examples/plugin-for-example.wasm | Bin 0 -> 969607 bytes examples/plugin-for-example/Cargo.toml | 7 +++++ examples/plugin-for-example/README.md | 33 ++++++++++++++++++++++++ examples/plugin-for-example/src/bin.rs | 14 ++++++++++ examples/plugin-for-example/src/main.rs | 12 +++++++++ examples/plugin.rs | 28 ++++++++++++++++++++ 8 files changed, 103 insertions(+), 1 deletion(-) create mode 100755 examples/plugin-for-example.wasm create mode 100644 examples/plugin-for-example/Cargo.toml create mode 100644 examples/plugin-for-example/README.md create mode 100644 examples/plugin-for-example/src/bin.rs create mode 100644 examples/plugin-for-example/src/main.rs create mode 100644 examples/plugin.rs diff --git a/Cargo.lock b/Cargo.lock index 2bac41a81..44e77e7df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1317,6 +1317,10 @@ name = "plain" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "plugin-for-example" +version = "0.1.0" + [[package]] name = "podio" version = "0.1.6" diff --git a/Cargo.toml b/Cargo.toml index e71b90718..17c72dcba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ wasmer-llvm-backend = { path = "lib/llvm-backend", optional = true } wasmer-wasi = { path = "lib/wasi", optional = true } [workspace] -members = ["lib/clif-backend", "lib/singlepass-backend", "lib/runtime", "lib/runtime-abi", "lib/runtime-core", "lib/emscripten", "lib/spectests", "lib/win-exception-handler", "lib/runtime-c-api", "lib/llvm-backend", "lib/wasi"] +members = ["lib/clif-backend", "lib/singlepass-backend", "lib/runtime", "lib/runtime-abi", "lib/runtime-core", "lib/emscripten", "lib/spectests", "lib/win-exception-handler", "lib/runtime-c-api", "lib/llvm-backend", "lib/wasi", "examples/plugin-for-example"] [build-dependencies] wabt = "0.7.2" @@ -49,3 +49,7 @@ fast-tests = [] "backend:singlepass" = ["wasmer-singlepass-backend"] wasi = ["wasmer-wasi"] vfs = ["wasmer-runtime-abi"] + +[[example]] +name = "plugin" +crate-type = ["bin"] \ No newline at end of file diff --git a/examples/plugin-for-example.wasm b/examples/plugin-for-example.wasm new file mode 100755 index 0000000000000000000000000000000000000000..4754287abdbbb4fedc1059eeadaae6f943ba2fc2 GIT binary patch literal 969607 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

x=cZ^3N)D6T2v@el@i@MchDCHV8Apn$t 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%0A!GP${UlU3 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

WGh#|5t6FDhx7dw~#h-gNGK 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 literal 0 HcmV?d00001 diff --git a/examples/plugin-for-example/Cargo.toml b/examples/plugin-for-example/Cargo.toml new file mode 100644 index 000000000..7b8e6b723 --- /dev/null +++ b/examples/plugin-for-example/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "plugin-for-example" +version = "0.1.0" +authors = ["The Wasmer Engineering Team "] +edition = "2018" + +[dependencies] \ No newline at end of file diff --git a/examples/plugin-for-example/README.md b/examples/plugin-for-example/README.md new file mode 100644 index 000000000..3f7f2e3ad --- /dev/null +++ b/examples/plugin-for-example/README.md @@ -0,0 +1,33 @@ +# WASI plugin example + +In this example we extend the imports of Wasmer's WASI ABI to demonstrate how custom plugins work. + +See the `wasmer/examples/plugin.rs` file for the source code of the host system. + +## Compiling + +``` +# Install an up to date version of Rust nightly +# Add the target +rustup target add wasm32-unknown-wasi +# build it +cargo build --release --target=wasm32-unknown-wasi +# copy it to examples folder +cp ../../target/wasm32-unknown-wasi/release/plugin-for-example.wasm ../ +``` + +## Running +``` +# Go back to top level Wasmer dir +cd .. +# Run the example +cargo run --example plugin +``` + +## Explanation + +In this example, we instantiate a system with an extended (WASI)[wasi] ABI, allowing our program to rely on Wasmer's implementation of the syscalls defined by WASI as well as our own that we made. This allows us to use the full power of an existing ABI, like WASI, and give it super-powers for our specific use case. + +Because the Rust WASI doesn't support the crate type of `cdylib`, we have to include a main function which we don't use. + +[wasi]: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ \ No newline at end of file diff --git a/examples/plugin-for-example/src/bin.rs b/examples/plugin-for-example/src/bin.rs new file mode 100644 index 000000000..33da75f09 --- /dev/null +++ b/examples/plugin-for-example/src/bin.rs @@ -0,0 +1,14 @@ +extern "C" { + fn it_works() -> i32; +} + +#[no_mangle] +pub fn plugin_entrypoint(n: i32) -> i32 { + println!("It works from inside WASI"); + let result = unsafe { it_works() }; + result + n +} + +pub fn main() { + println!("hello"); +} diff --git a/examples/plugin-for-example/src/main.rs b/examples/plugin-for-example/src/main.rs new file mode 100644 index 000000000..9ee284aab --- /dev/null +++ b/examples/plugin-for-example/src/main.rs @@ -0,0 +1,12 @@ +extern "C" { + fn it_works() -> i32; +} + +#[no_mangle] +pub fn plugin_entrypoint(n: i32) -> i32 { + println!("Hello from inside WASI"); + let result = unsafe { it_works() }; + result + n +} + +pub fn main() {} diff --git a/examples/plugin.rs b/examples/plugin.rs new file mode 100644 index 000000000..42803bb75 --- /dev/null +++ b/examples/plugin.rs @@ -0,0 +1,28 @@ +use wasmer_runtime::{func, imports, instantiate}; +use wasmer_runtime_core::vm::Ctx; +use wasmer_wasi::generate_import_object; + +static PLUGIN_WASM: &'static [u8] = include_bytes!("plugin-for-example.wasm"); + +fn it_works(_ctx: &mut Ctx) -> i32 { + println!("Hello from outside WASI"); + 5 +} + +fn main() { + // WASI imports + let mut base_imports = generate_import_object(vec![], vec![], vec![]); + // env is the default namespace for extern functions + let custom_imports = imports! { + "env" => { + "it_works" => func!(it_works), + }, + }; + base_imports.extend(custom_imports); + let instance = + instantiate(PLUGIN_WASM, &base_imports).expect("failed to instantiate wasm module"); + + let entry_point = instance.func::<(i32), i32>("plugin_entrypoint").unwrap(); + let result = entry_point.call(2).expect("failed to execute plugin"); + println!("result: {}", result); +} From 18e6216b70c90bd0c5eeb2359f9c25be6de14c04 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Sat, 27 Apr 2019 09:21:31 -0700 Subject: [PATCH 03/32] Delete bin.rs --- examples/plugin-for-example/src/bin.rs | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 examples/plugin-for-example/src/bin.rs diff --git a/examples/plugin-for-example/src/bin.rs b/examples/plugin-for-example/src/bin.rs deleted file mode 100644 index 33da75f09..000000000 --- a/examples/plugin-for-example/src/bin.rs +++ /dev/null @@ -1,14 +0,0 @@ -extern "C" { - fn it_works() -> i32; -} - -#[no_mangle] -pub fn plugin_entrypoint(n: i32) -> i32 { - println!("It works from inside WASI"); - let result = unsafe { it_works() }; - result + n -} - -pub fn main() { - println!("hello"); -} From a4170d44956d418280299672a810a41d0c3724c1 Mon Sep 17 00:00:00 2001 From: Syrus Date: Sat, 27 Apr 2019 12:53:13 -0700 Subject: [PATCH 04/32] Improved fault debugging with emscripten --- lib/emscripten/src/lib.rs | 3 +++ lib/emscripten/src/memory.rs | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/emscripten/src/lib.rs b/lib/emscripten/src/lib.rs index b3484770b..c41e4b96d 100644 --- a/lib/emscripten/src/lib.rs +++ b/lib/emscripten/src/lib.rs @@ -646,6 +646,9 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_emscripten_get_heap_size" => func!(crate::memory::_emscripten_get_heap_size), "_emscripten_resize_heap" => func!(crate::memory::_emscripten_resize_heap), "enlargeMemory" => func!(crate::memory::enlarge_memory), + "segfault" => func!(crate::memory::segfault), + "alignfault" => func!(crate::memory::alignfault), + "ftfault" => func!(crate::memory::ftfault), "getTotalMemory" => func!(crate::memory::get_total_memory), "___map_file" => func!(crate::memory::___map_file), diff --git a/lib/emscripten/src/memory.rs b/lib/emscripten/src/memory.rs index 9a0874015..1795dcae6 100644 --- a/lib/emscripten/src/memory.rs +++ b/lib/emscripten/src/memory.rs @@ -95,6 +95,24 @@ pub fn abort_on_cannot_grow_memory_old(ctx: &mut Ctx) -> u32 { 0 } +/// emscripten: segfault +pub fn segfault(ctx: &mut Ctx) { + debug!("emscripten::segfault"); + abort_with_message(ctx, "segmentation fault"); +} + +/// emscripten: alignfault +pub fn alignfault(ctx: &mut Ctx) { + debug!("emscripten::alignfault"); + abort_with_message(ctx, "alignment fault"); +} + +/// emscripten: ftfault +pub fn ftfault(ctx: &mut Ctx) { + debug!("emscripten::ftfault"); + abort_with_message(ctx, "Function table mask error"); +} + /// emscripten: ___map_file pub fn ___map_file(_ctx: &mut Ctx, _one: u32, _two: u32) -> c_int { debug!("emscripten::___map_file"); From 9c773df959619ab07f978a1e7a673f8a03e701e7 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Mon, 29 Apr 2019 14:26:31 +0200 Subject: [PATCH 05/32] chore(changelog) 0.4.0 and 0.3.0 have been released --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f46d5cbd8..22137a86e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ All PRs to the Wasmer repository must add to this file. Blocks of changes will separated by version increments. ## **[Unreleased]** + +## 0.4.0 - 2018-04-23 + - [#397](https://github.com/wasmerio/wasmer/pull/397) Fix WASI fs abstraction to work on Windows - [#390](https://github.com/wasmerio/wasmer/pull/390) Pin released wapm version and add it as a git submodule - [#383](https://github.com/wasmerio/wasmer/pull/383) Hook up wasi exit code to wasmer cli. @@ -22,3 +25,17 @@ Blocks of changes will separated by version increments. - [#351](https://github.com/wasmerio/wasmer/pull/351) Add hidden option to specify wasm program name (can be used to improve error messages) - [#350](https://github.com/wasmerio/wasmer/pull/350) Enforce that CHANGELOG.md is updated through CI. - [#349](https://github.com/wasmerio/wasmer/pull/349) Add [CHANGELOG.md](https://github.com/wasmerio/wasmer/blob/master/CHANGELOG.md). + +## 0.3.0 - 2018-04-12 + +- [#276] [#288] [#344] Use new singlepass backend (with the `--backend=singlepass` when running Wasmer) +- [#338] Actually catch traps/panics/etc when using a typed func. +- [#325] Fixed func_index in debug mode +- [#323] Add validate subcommand to validate Wasm files +- [#321] Upgrade to Cranelift 0.3.0 +- [#319] Add Export and GlobalDescriptor to Runtime API +- [#310] Cleanup warnings +- [#299] [#300] [#301] [#303] [#304] [#305] [#306] [#307] Add support for WASI 🎉 +- [#286] Add extend to imports +- [#278] Add versioning to cache +- [#250] Setup bors From 6e0e836d5934435978bacd07e708e881589bd2d4 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Mon, 29 Apr 2019 14:29:04 +0200 Subject: [PATCH 06/32] chore(changelog) Format links. --- CHANGELOG.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22137a86e..a6940da60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,14 +28,14 @@ Blocks of changes will separated by version increments. ## 0.3.0 - 2018-04-12 -- [#276] [#288] [#344] Use new singlepass backend (with the `--backend=singlepass` when running Wasmer) -- [#338] Actually catch traps/panics/etc when using a typed func. -- [#325] Fixed func_index in debug mode -- [#323] Add validate subcommand to validate Wasm files -- [#321] Upgrade to Cranelift 0.3.0 -- [#319] Add Export and GlobalDescriptor to Runtime API -- [#310] Cleanup warnings -- [#299] [#300] [#301] [#303] [#304] [#305] [#306] [#307] Add support for WASI 🎉 -- [#286] Add extend to imports -- [#278] Add versioning to cache -- [#250] Setup bors +- [#276](https://github.com/wasmerio/wasmer/pull/276) [#288](https://github.com/wasmerio/wasmer/pull/288) [#344](https://github.com/wasmerio/wasmer/pull/344) Use new singlepass backend (with the `--backend=singlepass` when running Wasmer) +- [#338](https://github.com/wasmerio/wasmer/pull/338) Actually catch traps/panics/etc when using a typed func. +- [#325](https://github.com/wasmerio/wasmer/pull/325) Fixed func_index in debug mode +- [#323](https://github.com/wasmerio/wasmer/pull/323) Add validate subcommand to validate Wasm files +- [#321](https://github.com/wasmerio/wasmer/pull/321) Upgrade to Cranelift 0.3.0 +- [#319](https://github.com/wasmerio/wasmer/pull/319) Add Export and GlobalDescriptor to Runtime API +- [#310](https://github.com/wasmerio/wasmer/pull/310) Cleanup warnings +- [#299](https://github.com/wasmerio/wasmer/pull/299) [#300](https://github.com/wasmerio/wasmer/pull/300) [#301](https://github.com/wasmerio/wasmer/pull/301) [#303](https://github.com/wasmerio/wasmer/pull/303) [#304](https://github.com/wasmerio/wasmer/pull/304) [#305](https://github.com/wasmerio/wasmer/pull/305) [#306](https://github.com/wasmerio/wasmer/pull/306) [#307](https://github.com/wasmerio/wasmer/pull/307) Add support for WASI 🎉 +- [#286](https://github.com/wasmerio/wasmer/pull/286) Add extend to imports +- [#278](https://github.com/wasmerio/wasmer/pull/278) Add versioning to cache +- [#250](https://github.com/wasmerio/wasmer/pull/250) Setup bors From 6f942ae31766a716d8ffefe966954f21482066ed Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 08:09:42 -0700 Subject: [PATCH 07/32] Add new line to Cargo.toml --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 17c72dcba..2391db8b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,4 +52,4 @@ vfs = ["wasmer-runtime-abi"] [[example]] name = "plugin" -crate-type = ["bin"] \ No newline at end of file +crate-type = ["bin"] From e7b53c65f89713a4649f81f27aaf3edf71eab6b2 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 08:10:05 -0700 Subject: [PATCH 08/32] Add new line to example Cargo.toml --- examples/plugin-for-example/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/plugin-for-example/Cargo.toml b/examples/plugin-for-example/Cargo.toml index 7b8e6b723..28d234910 100644 --- a/examples/plugin-for-example/Cargo.toml +++ b/examples/plugin-for-example/Cargo.toml @@ -4,4 +4,4 @@ version = "0.1.0" authors = ["The Wasmer Engineering Team "] edition = "2018" -[dependencies] \ No newline at end of file +[dependencies] From 0add4584e3525411e48b8fad25793782969a4f11 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 11:18:17 -0700 Subject: [PATCH 09/32] Update examples/plugin.rs Co-Authored-By: MarkMcCaskey --- examples/plugin.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/plugin.rs b/examples/plugin.rs index 42803bb75..c7066e59b 100644 --- a/examples/plugin.rs +++ b/examples/plugin.rs @@ -18,6 +18,8 @@ fn main() { "it_works" => func!(it_works), }, }; + // The WASI imports object contains all required import functions for a WASI module to run. + // Extend this imports with our custom imports containing "it_works" function so that our custom wasm code may run. base_imports.extend(custom_imports); let instance = instantiate(PLUGIN_WASM, &base_imports).expect("failed to instantiate wasm module"); From bc0289cb840a91cb74716e2fa446c46f59bb63ba Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 11:18:35 -0700 Subject: [PATCH 10/32] Update examples/plugin.rs Co-Authored-By: MarkMcCaskey --- examples/plugin.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/plugin.rs b/examples/plugin.rs index c7066e59b..05b8d501f 100644 --- a/examples/plugin.rs +++ b/examples/plugin.rs @@ -24,6 +24,7 @@ fn main() { let instance = instantiate(PLUGIN_WASM, &base_imports).expect("failed to instantiate wasm module"); + // get a reference to the function "plugin_entrypoint" which takes an i32 and returns an i32 let entry_point = instance.func::<(i32), i32>("plugin_entrypoint").unwrap(); let result = entry_point.call(2).expect("failed to execute plugin"); println!("result: {}", result); From 8e9767cf532ac8abd823f3b45a7dd1801b944201 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 11:18:53 -0700 Subject: [PATCH 11/32] Update examples/plugin.rs Co-Authored-By: MarkMcCaskey --- examples/plugin.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/plugin.rs b/examples/plugin.rs index 05b8d501f..78f149720 100644 --- a/examples/plugin.rs +++ b/examples/plugin.rs @@ -26,6 +26,7 @@ fn main() { // get a reference to the function "plugin_entrypoint" which takes an i32 and returns an i32 let entry_point = instance.func::<(i32), i32>("plugin_entrypoint").unwrap(); + // call the "entry_point" function in WebAssembly with the number "2" as the i32 argument let result = entry_point.call(2).expect("failed to execute plugin"); println!("result: {}", result); } From 4f4473c84eacf7182fbf7650a6ce54d3e89e4514 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 29 Apr 2019 11:27:19 -0700 Subject: [PATCH 12/32] update from feedback --- examples/plugin-for-example/README.md | 14 ++++++++++++-- examples/plugin.rs | 9 +++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/examples/plugin-for-example/README.md b/examples/plugin-for-example/README.md index 3f7f2e3ad..e55c123f2 100644 --- a/examples/plugin-for-example/README.md +++ b/examples/plugin-for-example/README.md @@ -11,7 +11,7 @@ See the `wasmer/examples/plugin.rs` file for the source code of the host system. # Add the target rustup target add wasm32-unknown-wasi # build it -cargo build --release --target=wasm32-unknown-wasi +cargo +nightly build --release --target=wasm32-unknown-wasi # copy it to examples folder cp ../../target/wasm32-unknown-wasi/release/plugin-for-example.wasm ../ ``` @@ -24,10 +24,20 @@ cd .. cargo run --example plugin ``` +## Inspecting the plugin +``` +# Install wabt via wapm; installed globally with the `g` flag +wapm install -g wabt +# Turn the binary WASM file in to a readable WAT text file +wapm run wasm2wat examples/plugin-for-example.wasm +``` + +At the top of the file we can see which functions this plugin expects. Most are covered by WASI, but we handle the rest. + ## Explanation In this example, we instantiate a system with an extended (WASI)[wasi] ABI, allowing our program to rely on Wasmer's implementation of the syscalls defined by WASI as well as our own that we made. This allows us to use the full power of an existing ABI, like WASI, and give it super-powers for our specific use case. -Because the Rust WASI doesn't support the crate type of `cdylib`, we have to include a main function which we don't use. +Because the Rust WASI doesn't support the crate type of `cdylib`, we have to include a main function which we don't use. This is being discussed [here](https://github.com/WebAssembly/WASI/issues/24). [wasi]: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ \ No newline at end of file diff --git a/examples/plugin.rs b/examples/plugin.rs index 42803bb75..ab649376d 100644 --- a/examples/plugin.rs +++ b/examples/plugin.rs @@ -2,7 +2,7 @@ use wasmer_runtime::{func, imports, instantiate}; use wasmer_runtime_core::vm::Ctx; use wasmer_wasi::generate_import_object; -static PLUGIN_WASM: &'static [u8] = include_bytes!("plugin-for-example.wasm"); +static PLUGIN_LOCATION: &'static str = "examples/plugin-for-example.wasm"; fn it_works(_ctx: &mut Ctx) -> i32 { println!("Hello from outside WASI"); @@ -10,6 +10,11 @@ fn it_works(_ctx: &mut Ctx) -> i32 { } fn main() { + let wasm_bytes = std::fs::read(PLUGIN_LOCATION).expect(&format!( + "Could not read in WASM plugin at {}", + PLUGIN_LOCATION + )); + // WASI imports let mut base_imports = generate_import_object(vec![], vec![], vec![]); // env is the default namespace for extern functions @@ -20,7 +25,7 @@ fn main() { }; base_imports.extend(custom_imports); let instance = - instantiate(PLUGIN_WASM, &base_imports).expect("failed to instantiate wasm module"); + instantiate(&wasm_bytes[..], &base_imports).expect("failed to instantiate wasm module"); let entry_point = instance.func::<(i32), i32>("plugin_entrypoint").unwrap(); let result = entry_point.call(2).expect("failed to execute plugin"); From 0f22a515be99aa99c67aa38f9dab21b9b5f44490 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 29 Apr 2019 11:33:03 -0700 Subject: [PATCH 13/32] add comment; add wapm.toml --- examples/plugin-for-example/wapm.toml | 12 ++++++++++++ examples/plugin.rs | 1 + 2 files changed, 13 insertions(+) create mode 100644 examples/plugin-for-example/wapm.toml diff --git a/examples/plugin-for-example/wapm.toml b/examples/plugin-for-example/wapm.toml new file mode 100644 index 000000000..7e2e261a7 --- /dev/null +++ b/examples/plugin-for-example/wapm.toml @@ -0,0 +1,12 @@ +[package] +name = "plugin-for-example" +version = "0.1.0" +description = "A plugin for our example system" +readme = "README.md" +repository = "https://github.com/wasmerio/wasmer/examples/plugin-for-example" +license = "MIT" + +[[module]] +name = "plugin-for-example" +source = "../../target/wasm32-unknown-wasi/release/plugin-for-example.wasm" +abi = "none" \ No newline at end of file diff --git a/examples/plugin.rs b/examples/plugin.rs index 106ccebc9..dbb06fe61 100644 --- a/examples/plugin.rs +++ b/examples/plugin.rs @@ -10,6 +10,7 @@ fn it_works(_ctx: &mut Ctx) -> i32 { } fn main() { + // Load the plugin data let wasm_bytes = std::fs::read(PLUGIN_LOCATION).expect(&format!( "Could not read in WASM plugin at {}", PLUGIN_LOCATION From f862032e911f7246cab9c39eec231836b7e2cc14 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Mon, 29 Apr 2019 11:41:14 -0700 Subject: [PATCH 14/32] add comment about wasi on windows --- examples/plugin-for-example/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/plugin-for-example/README.md b/examples/plugin-for-example/README.md index e55c123f2..42bc3ac26 100644 --- a/examples/plugin-for-example/README.md +++ b/examples/plugin-for-example/README.md @@ -5,7 +5,7 @@ In this example we extend the imports of Wasmer's WASI ABI to demonstrate how cu See the `wasmer/examples/plugin.rs` file for the source code of the host system. ## Compiling - +_Attention Windows users: WASI target only works with the `nightly-x86_64-pc-windows-gnu` toolchain._ ``` # Install an up to date version of Rust nightly # Add the target @@ -40,4 +40,4 @@ In this example, we instantiate a system with an extended (WASI)[wasi] ABI, allo Because the Rust WASI doesn't support the crate type of `cdylib`, we have to include a main function which we don't use. This is being discussed [here](https://github.com/WebAssembly/WASI/issues/24). -[wasi]: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ \ No newline at end of file +[wasi]: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ From 49aa104ed841a46bdeae2cda2957c72a0fb04868 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 29 Apr 2019 11:45:52 -0700 Subject: [PATCH 15/32] fix changelog; add entry --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6940da60..37b1390ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,12 @@ All PRs to the Wasmer repository must add to this file. Blocks of changes will separated by version increments. ## **[Unreleased]** +- [#399](https://github.com/wasmerio/wasmer/pull/399) Add example of using a plugin extended from WASI +- [#397](https://github.com/wasmerio/wasmer/pull/397) Fix WASI fs abstraction to work on Windows +- [#390](https://github.com/wasmerio/wasmer/pull/390) Pin released wapm version and add it as a git submodule ## 0.4.0 - 2018-04-23 -- [#397](https://github.com/wasmerio/wasmer/pull/397) Fix WASI fs abstraction to work on Windows -- [#390](https://github.com/wasmerio/wasmer/pull/390) Pin released wapm version and add it as a git submodule - [#383](https://github.com/wasmerio/wasmer/pull/383) Hook up wasi exit code to wasmer cli. - [#382](https://github.com/wasmerio/wasmer/pull/382) Improve error message on `--backend` flag to only suggest currently enabled backends - [#381](https://github.com/wasmerio/wasmer/pull/381) Allow retrieving propagated user errors. From d020ffd7591acc5cbb7049abb16da2ad9b08369b Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 29 Apr 2019 13:26:51 -0700 Subject: [PATCH 16/32] update version to 0.4.0 --- lib/clif-backend/Cargo.toml | 6 +++--- lib/emscripten/Cargo.toml | 10 +++++----- lib/llvm-backend/Cargo.toml | 4 ++-- lib/runtime-abi/Cargo.toml | 2 +- lib/runtime-c-api/Cargo.toml | 6 +++--- lib/runtime-core/Cargo.toml | 2 +- lib/runtime/Cargo.toml | 8 ++++---- lib/singlepass-backend/Cargo.toml | 4 ++-- lib/spectests/Cargo.toml | 10 +++++----- lib/wasi/Cargo.toml | 4 ++-- lib/win-exception-handler/Cargo.toml | 4 ++-- update_version_numbers.sh | 4 ++-- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/lib/clif-backend/Cargo.toml b/lib/clif-backend/Cargo.toml index 9259a1903..c31ae0de1 100644 --- a/lib/clif-backend/Cargo.toml +++ b/lib/clif-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-clif-backend" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime Cranelift compiler backend" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer" edition = "2018" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } cranelift-native = "0.30.0" cranelift-codegen = "0.30.0" cranelift-entity = "0.30.0" @@ -33,7 +33,7 @@ version = "0.0.7" [target.'cfg(windows)'.dependencies] winapi = { version = "0.3", features = ["errhandlingapi", "minwindef", "minwinbase", "winnt"] } -wasmer-win-exception-handler = { path = "../win-exception-handler", version = "0.3.0" } +wasmer-win-exception-handler = { path = "../win-exception-handler", version = "0.4.0" } [features] debug = ["wasmer-runtime-core/debug"] diff --git a/lib/emscripten/Cargo.toml b/lib/emscripten/Cargo.toml index 6f37da948..5b37433af 100644 --- a/lib/emscripten/Cargo.toml +++ b/lib/emscripten/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-emscripten" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime emscripten implementation library" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -9,14 +9,14 @@ edition = "2018" build = "build/mod.rs" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } lazy_static = "1.2.0" libc = "0.2.49" byteorder = "1" time = "0.1.41" -wasmer-clif-backend = { path = "../clif-backend", version = "0.3.0" } -wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.3.0", optional = true } -wasmer-llvm-backend = { path = "../llvm-backend", version = "0.3.0", optional = true } +wasmer-clif-backend = { path = "../clif-backend", version = "0.4.0" } +wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.4.0", optional = true } +wasmer-llvm-backend = { path = "../llvm-backend", version = "0.4.0", optional = true } [target.'cfg(windows)'.dependencies] rand = "0.6" diff --git a/lib/llvm-backend/Cargo.toml b/lib/llvm-backend/Cargo.toml index 944db6d41..efb69e8cf 100644 --- a/lib/llvm-backend/Cargo.toml +++ b/lib/llvm-backend/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "wasmer-llvm-backend" -version = "0.3.0" +version = "0.4.0" authors = ["Lachlan Sneff "] edition = "2018" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } inkwell = { git = "https://github.com/wasmerio/inkwell", branch = "llvm7-0" } wasmparser = "0.28.0" hashbrown = "0.1.8" diff --git a/lib/runtime-abi/Cargo.toml b/lib/runtime-abi/Cargo.toml index 459c08de2..d1c94b5e2 100644 --- a/lib/runtime-abi/Cargo.toml +++ b/lib/runtime-abi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-runtime-abi" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime core library" license = "MIT" authors = ["The Wasmer Engineering Team "] diff --git a/lib/runtime-c-api/Cargo.toml b/lib/runtime-c-api/Cargo.toml index 881c37fcb..54cff9c90 100644 --- a/lib/runtime-c-api/Cargo.toml +++ b/lib/runtime-c-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-runtime-c-api" -version = "0.3.0" +version = "0.4.0" description = "Wasmer C API library" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -16,11 +16,11 @@ libc = "0.2" [dependencies.wasmer-runtime] path = "../runtime" -version = "0.3.0" +version = "0.4.0" [dependencies.wasmer-runtime-core] path = "../runtime-core" -version = "0.3.0" +version = "0.4.0" [features] debug = ["wasmer-runtime/debug"] diff --git a/lib/runtime-core/Cargo.toml b/lib/runtime-core/Cargo.toml index e311be8fb..9ed814c0c 100644 --- a/lib/runtime-core/Cargo.toml +++ b/lib/runtime-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-runtime-core" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime core library" license = "MIT" authors = ["The Wasmer Engineering Team "] diff --git a/lib/runtime/Cargo.toml b/lib/runtime/Cargo.toml index 678d6861c..a43bdb270 100644 --- a/lib/runtime/Cargo.toml +++ b/lib/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-runtime" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime library" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -9,17 +9,17 @@ edition = "2018" readme = "README.md" [dependencies] -wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.3.0", optional = true } +wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.4.0", optional = true } lazy_static = "1.2.0" memmap = "0.7.0" [dependencies.wasmer-runtime-core] path = "../runtime-core" -version = "0.3.0" +version = "0.4.0" [dependencies.wasmer-clif-backend] path = "../clif-backend" -version = "0.3.0" +version = "0.4.0" optional = true [dev-dependencies] diff --git a/lib/singlepass-backend/Cargo.toml b/lib/singlepass-backend/Cargo.toml index 51fa61319..1216ae290 100644 --- a/lib/singlepass-backend/Cargo.toml +++ b/lib/singlepass-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-singlepass-backend" -version = "0.3.0" +version = "0.4.0" repository = "https://github.com/wasmerio/wasmer" description = "Wasmer runtime single pass compiler backend" license = "MIT" @@ -8,7 +8,7 @@ authors = ["The Wasmer Engineering Team "] edition = "2018" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } wasmparser = "0.28.0" dynasm = "0.3.1" dynasmrt = "0.3.1" diff --git a/lib/spectests/Cargo.toml b/lib/spectests/Cargo.toml index 390e7ebe9..1b6dbe59b 100644 --- a/lib/spectests/Cargo.toml +++ b/lib/spectests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-spectests" -version = "0.3.0" +version = "0.4.0" description = "Wasmer spectests library" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -9,10 +9,10 @@ edition = "2018" build = "build/mod.rs" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } -wasmer-clif-backend = { path = "../clif-backend", version = "0.3.0" } -wasmer-llvm-backend = { path = "../llvm-backend", version = "0.3.0", optional = true } -wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.3.0", optional = true } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } +wasmer-clif-backend = { path = "../clif-backend", version = "0.4.0" } +wasmer-llvm-backend = { path = "../llvm-backend", version = "0.4.0", optional = true } +wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.4.0", optional = true } [build-dependencies] wabt = "0.7.2" diff --git a/lib/wasi/Cargo.toml b/lib/wasi/Cargo.toml index 30493f8fa..1bb3cbaa0 100644 --- a/lib/wasi/Cargo.toml +++ b/lib/wasi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-wasi" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime WASI implementation library" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer" edition = "2018" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } libc = "0.2.50" rand = "0.6.5" # wasmer-runtime-abi = { path = "../runtime-abi" } diff --git a/lib/win-exception-handler/Cargo.toml b/lib/win-exception-handler/Cargo.toml index c11d497bd..b4a102813 100644 --- a/lib/win-exception-handler/Cargo.toml +++ b/lib/win-exception-handler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-win-exception-handler" -version = "0.3.0" +version = "0.4.0" description = "Wasmer runtime exception handling for Windows" license = "MIT" authors = ["The Wasmer Engineering Team "] @@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer" edition = "2018" [target.'cfg(windows)'.dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } winapi = { version = "0.3", features = ["winbase", "errhandlingapi", "minwindef", "minwinbase", "winnt"] } libc = "0.2.49" diff --git a/update_version_numbers.sh b/update_version_numbers.sh index df7f38952..c1a677f56 100755 --- a/update_version_numbers.sh +++ b/update_version_numbers.sh @@ -1,5 +1,5 @@ -PREVIOUS_VERSION='0.2.1' -NEXT_VERSION='0.3.0' +PREVIOUS_VERSION='0.3.0' +NEXT_VERSION='0.4.0' # quick hack fd Cargo.toml --exec sed -i '' "s/version = \"$PREVIOUS_VERSION\"/version = \"$NEXT_VERSION\"/" From a127b770b36dd369fbb452a9e4880f6420202dbe Mon Sep 17 00:00:00 2001 From: Brandon Fish Date: Mon, 29 Apr 2019 23:34:48 -0500 Subject: [PATCH 17/32] Update to newer common wasmparser version --- Cargo.lock | 20 ++++---------------- lib/clif-backend/Cargo.toml | 2 +- lib/llvm-backend/Cargo.toml | 2 +- lib/runtime-abi/Cargo.toml | 2 +- lib/singlepass-backend/Cargo.toml | 2 +- 5 files changed, 8 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 44e77e7df..7b0a1d07e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2264,7 +2264,7 @@ dependencies = [ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-runtime-core 0.3.0", "wasmer-win-exception-handler 0.3.0", - "wasmparser 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2303,7 +2303,7 @@ dependencies = [ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-runtime-core 0.3.0", - "wasmparser 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2331,7 +2331,7 @@ dependencies = [ "tar 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-runtime-core 0.3.0", - "wasmparser 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", "zbox 0.6.1 (git+https://github.com/wasmerio/zbox?branch=bundle-libsodium)", "zstd 0.4.22+zstd.1.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2385,7 +2385,7 @@ dependencies = [ "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-runtime-core 0.3.0", - "wasmparser 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2424,16 +2424,6 @@ dependencies = [ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "wasmparser" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasmparser" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "wasmparser" version = "0.29.2" @@ -2827,8 +2817,6 @@ dependencies = [ "checksum wabt-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a6265b25719e82598d104b3717375e37661d41753e2c84cde3f51050c7ed7e3c" "checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1" "checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3" -"checksum wasmparser 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5e01c420bc7d36e778bd242e1167b079562ba8b34087122cc9057187026d060" -"checksum wasmparser 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)" = "40f426b1929bd26517fb10702e2a8e520d1845c49567aa4d244f426f10b206c1" "checksum wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)" = "981a8797cf89762e0233ec45fae731cb79a4dfaee12d9f0fe6cee01e4ac58d00" "checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" diff --git a/lib/clif-backend/Cargo.toml b/lib/clif-backend/Cargo.toml index 9259a1903..f1aa6ef04 100644 --- a/lib/clif-backend/Cargo.toml +++ b/lib/clif-backend/Cargo.toml @@ -15,7 +15,7 @@ cranelift-entity = "0.30.0" cranelift-wasm = "0.30.0" hashbrown = "0.1" target-lexicon = "0.3.0" -wasmparser = "0.23.0" +wasmparser = "0.29.2" byteorder = "1" nix = "0.13.0" libc = "0.2.49" diff --git a/lib/llvm-backend/Cargo.toml b/lib/llvm-backend/Cargo.toml index 944db6d41..c1a1cbbdc 100644 --- a/lib/llvm-backend/Cargo.toml +++ b/lib/llvm-backend/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } inkwell = { git = "https://github.com/wasmerio/inkwell", branch = "llvm7-0" } -wasmparser = "0.28.0" +wasmparser = "0.29.2" hashbrown = "0.1.8" smallvec = "0.6.8" goblin = "0.0.20" diff --git a/lib/runtime-abi/Cargo.toml b/lib/runtime-abi/Cargo.toml index 459c08de2..bf971f7e8 100644 --- a/lib/runtime-abi/Cargo.toml +++ b/lib/runtime-abi/Cargo.toml @@ -13,7 +13,7 @@ wasmer-runtime-core = { path = "../runtime-core" } hashbrown = "0.1" failure = "0.1" tar = "0.4" -wasmparser = "0.23.0" +wasmparser = "0.29.2" zstd = "0.4" [target.'cfg(unix)'.dependencies.zbox] diff --git a/lib/singlepass-backend/Cargo.toml b/lib/singlepass-backend/Cargo.toml index 51fa61319..b4046e76c 100644 --- a/lib/singlepass-backend/Cargo.toml +++ b/lib/singlepass-backend/Cargo.toml @@ -9,7 +9,7 @@ edition = "2018" [dependencies] wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } -wasmparser = "0.28.0" +wasmparser = "0.29.2" dynasm = "0.3.1" dynasmrt = "0.3.1" lazy_static = "1.2.0" From da807ed2a17dd89899c8cb03a725da8f82c74773 Mon Sep 17 00:00:00 2001 From: Brandon Fish Date: Mon, 29 Apr 2019 23:40:16 -0500 Subject: [PATCH 18/32] Remove unused imports --- lib/singlepass-backend/src/protect_unix.rs | 2 +- src/webassembly.rs | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/singlepass-backend/src/protect_unix.rs b/lib/singlepass-backend/src/protect_unix.rs index 213db5f6a..b969f1656 100644 --- a/lib/singlepass-backend/src/protect_unix.rs +++ b/lib/singlepass-backend/src/protect_unix.rs @@ -11,7 +11,7 @@ //! use libc::{c_int, c_void, siginfo_t}; use nix::sys::signal::{ - sigaction, SaFlags, SigAction, SigHandler, SigSet, Signal, SIGBUS, SIGFPE, SIGILL, SIGSEGV, + sigaction, SaFlags, SigAction, SigHandler, SigSet, SIGBUS, SIGFPE, SIGILL, SIGSEGV, }; use std::any::Any; use std::cell::{Cell, UnsafeCell}; diff --git a/src/webassembly.rs b/src/webassembly.rs index 3d051f078..0df8b59e8 100644 --- a/src/webassembly.rs +++ b/src/webassembly.rs @@ -1,13 +1,6 @@ use std::panic; pub use wasmer_runtime::compile_with_config_with; -use wasmer_runtime::{ - self as runtime, - error::{CallResult, Result}, - ImportObject, Instance, Module, -}; -use wasmer_runtime_core::types::Value; - -use wasmer_emscripten::run_emscripten_instance; +use wasmer_runtime::{self as runtime, error::Result, ImportObject, Instance, Module}; pub struct ResultObject { /// A webassembly::Module object representing the compiled WebAssembly module. From 8acf9edf678e7f3f6e9860d0b40c688ec893ce8c Mon Sep 17 00:00:00 2001 From: Brandon Fish Date: Mon, 29 Apr 2019 23:45:38 -0500 Subject: [PATCH 19/32] Remove unneeded returns --- lib/emscripten/src/process.rs | 2 +- lib/emscripten/src/time.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/emscripten/src/process.rs b/lib/emscripten/src/process.rs index 4c6e33e70..319dc9eb4 100644 --- a/lib/emscripten/src/process.rs +++ b/lib/emscripten/src/process.rs @@ -159,7 +159,7 @@ pub fn _system(_ctx: &mut Ctx, _one: i32) -> c_int { debug!("emscripten::_system"); // TODO: May need to change this Em impl to a working version eprintln!("Can't call external programs"); - return EAGAIN; + EAGAIN } pub fn _popen(_ctx: &mut Ctx, _one: i32, _two: i32) -> c_int { diff --git a/lib/emscripten/src/time.rs b/lib/emscripten/src/time.rs index 312808a82..56dfdbda8 100644 --- a/lib/emscripten/src/time.rs +++ b/lib/emscripten/src/time.rs @@ -345,7 +345,7 @@ pub fn _strftime( // pad for null? let bytes = result_str.chars().count(); if bytes as u32 > maxsize { - return 0; + 0 } else { // write output string for (i, c) in result_str.chars().enumerate() { From 01ba789eed1cded255b42034dffdf422b5c6a539 Mon Sep 17 00:00:00 2001 From: Brandon Fish Date: Mon, 29 Apr 2019 23:49:00 -0500 Subject: [PATCH 20/32] Cleanup some long literal lacking separators --- lib/llvm-backend/src/code.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/llvm-backend/src/code.rs b/lib/llvm-backend/src/code.rs index 05cde0694..2795e6271 100644 --- a/lib/llvm-backend/src/code.rs +++ b/lib/llvm-backend/src/code.rs @@ -1468,7 +1468,7 @@ fn parse_function( context, &function, -2147483904.0, - 2147483648.0, + 2_147_483_648.0, v1, ); let res = @@ -1482,8 +1482,8 @@ fn parse_function( intrinsics, context, &function, - -2147483649.0, - 2147483648.0, + -2_147_483_649.0, + 2_147_483_648.0, v1, ); let res = @@ -1503,8 +1503,8 @@ fn parse_function( intrinsics, context, &function, - -9223373136366403584.0, - 9223372036854775808.0, + -9_223_373_136_366_403_584.0, + 9_223_372_036_854_775_808.0, v1, ); let res = From 6af87c1b5bd30d27f58bcbe6e3494f3a0f34d725 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Tue, 30 Apr 2019 09:21:08 -0700 Subject: [PATCH 21/32] add images to installer and add wapm bin dir to path --- media/wizard_logo.ico | Bin 0 -> 30138 bytes media/wizard_logo_2.bmp | Bin 0 -> 980726 bytes media/wizard_logo_small.bmp | Bin 0 -> 4158 bytes src/installer/wasmer.iss | 17 ++++++++++++++--- 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 media/wizard_logo.ico create mode 100644 media/wizard_logo_2.bmp create mode 100644 media/wizard_logo_small.bmp diff --git a/media/wizard_logo.ico b/media/wizard_logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..664b0d7a16bf2c6388add01b22ff370850e25aa5 GIT binary patch literal 30138 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 zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z g1Rwwb2tWV=5P$##AOHafKmY;|fB*y_kSYTIAA~+r82|tP literal 0 HcmV?d00001 diff --git a/media/wizard_logo_small.bmp b/media/wizard_logo_small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9ca204fcabda77087321ab8256b6d1887220c6ec GIT binary patch literal 4158 zcmeI#c~n$Y90%}cw%BHyG}>yGWviwnGE9IYfwGDsn}Qpnfk+ApRN#^zR4l1!3JCbl z5s5HkF)J5NS(1PW0v*vnITal^!Z2*ZY~SuM%$xg$H{kR~e|gXO&HLSZ-)DaB-M5?> zsfYc;%wU^+C&Nr5naxm)VaDkv$mhB7`e4S84v8bv9gsiW5&1KvD3~!9g)^i$I!lUU zGo5hM+6e_V&M35VMWMtEMGl@QndOW!YZnsp@vZd&oSyBDGbGO1c;Lr5UijJ88|Q5o zp+dYEzmmA13wvKwNqkT(S%MmSKOB>K>Pv^GWVP38dNWfM2&AaY6By2IcO6uFONb!*|xf_ z#6Kk3-B+Q*GX$L^WL|3^TNnzNPZ+xV)}zZm0$o8HQ63(H^7XN}ydoO)A+cx(i^uN~ zTk%s=0_3Y>AP@nsMGxs$CZ?k@ zDFan0yKymfAFgf7K+WDPTu;kJXL>ezcJ4uM%6{~wX5vQ1A=DknLtQ3|hMau-nN@(k zJ$dNcdl>yWg}8F02v@%<#1hm{J&)F3E})~l0?P99P@bzqTXhY(s%p`7u@1@$HBeR7qWw}GX8K|Vn4%G>cj zt^q69@-}Y~9OniZE~Ar#1>$JBKRg$5NsGi{%Uybi9buNbtcbUD%2F5SqF0u=9SaT0 z68CYCQPD1U0X2x~-aF)o+tjpW%z*AhkWDk+ZyxY3KL=Cx&z)6Ieb4iPb zsX>>${zaWKj*UT0Gp&Bo5qD`B_6-c;!OOPvgg@Al}|h!Iv|@he6~o!@~KQ~rZH z9QF(|*>d;6^W^1dvD@WLl*R5dzk3FmW%Y8_-mh1d)tmmDL0RU8e(nrnOV;JKVb9TX>=w4Iw z`B^7w2l$Hbym#tfZj^I%W5!xpJ*4~7!EeTT^WWDiy57u#z6>*dET0Va49-6C zkbzOhxt%3Wuo>KLPEqyVWX-wz*6R0XC}ynZZ^qrVByDJaAvbAxhOnEP$W;+=o+-Ln z`uv^^a3|+FC5BThJIqPr^|O?l`Z>!^efr&8ikZ4MHsuY?8r@{V*ll}hWm4~*)d#s* zqkE4VqY~b6?x!X=H!hPJ Date: Tue, 30 Apr 2019 09:59:00 -0700 Subject: [PATCH 22/32] add global wapm packages bin dir to path --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 40b95cc22..fd2cf4778 100755 --- a/install.sh +++ b/install.sh @@ -131,7 +131,7 @@ wasmer_link() { printf "$cyan> Adding to bash profile...$reset\n" WASMER_PROFILE="$(wasmer_detect_profile)" LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"\$HOME/.wasmer\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" - SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$HOME/.wasmer\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$HOME/.wasmer/bin:\$PATH\"\n" + SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$HOME/.wasmer\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$HOME/.wasmer/globals/wapm_packages/.bin:$HOME/.wasmer/bin:\$PATH\"\n" # We create the wasmer.sh file printf "$SOURCE_STR" > "$HOME/.wasmer/wasmer.sh" From 18a8341e5abb0cd694333b83c5d6310d77fa516d Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Tue, 30 Apr 2019 09:59:07 -0700 Subject: [PATCH 23/32] add changelog record --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37b1390ec..91b04b3ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Blocks of changes will separated by version increments. - [#399](https://github.com/wasmerio/wasmer/pull/399) Add example of using a plugin extended from WASI - [#397](https://github.com/wasmerio/wasmer/pull/397) Fix WASI fs abstraction to work on Windows - [#390](https://github.com/wasmerio/wasmer/pull/390) Pin released wapm version and add it as a git submodule +- [#408](https://github.com/wasmerio/wasmer/pull/408) Add images to windows installer and update installer to add wapm bin directory to path ## 0.4.0 - 2018-04-23 From bc50fe090cf8152eab4749e04d21e0fb9102de5a Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Tue, 30 Apr 2019 10:09:04 -0700 Subject: [PATCH 24/32] Update install.sh Co-Authored-By: xmclark --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index fd2cf4778..c0d0982bd 100755 --- a/install.sh +++ b/install.sh @@ -131,7 +131,7 @@ wasmer_link() { printf "$cyan> Adding to bash profile...$reset\n" WASMER_PROFILE="$(wasmer_detect_profile)" LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"\$HOME/.wasmer\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" - SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$HOME/.wasmer\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$HOME/.wasmer/globals/wapm_packages/.bin:$HOME/.wasmer/bin:\$PATH\"\n" + SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$HOME/.wasmer\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$HOME/.wasmer/bin:\$HOME/.wasmer/globals/wapm_packages/.bin:\$PATH\"\n" # We create the wasmer.sh file printf "$SOURCE_STR" > "$HOME/.wasmer/wasmer.sh" From e68f5e10e4ed698b902f98217a265972c5bbb7b8 Mon Sep 17 00:00:00 2001 From: Syrus Date: Tue, 30 Apr 2019 11:47:03 -0700 Subject: [PATCH 25/32] Improved emscripten functions to be able to run jsc --- lib/emscripten/src/emscripten_target.rs | 36 +++++++++++++++++++++++++ lib/emscripten/src/exception.rs | 6 +++++ lib/emscripten/src/lib.rs | 12 ++++++++- lib/emscripten/src/math.rs | 5 ++++ lib/emscripten/src/process.rs | 7 ++++- 5 files changed, 64 insertions(+), 2 deletions(-) diff --git a/lib/emscripten/src/emscripten_target.rs b/lib/emscripten/src/emscripten_target.rs index 5b14a1099..08a7ef516 100644 --- a/lib/emscripten/src/emscripten_target.rs +++ b/lib/emscripten/src/emscripten_target.rs @@ -15,6 +15,15 @@ pub fn getTempRet0(ctx: &mut Ctx) -> i32 { get_emscripten_data(ctx).temp_ret_0 } +pub fn _atexit(_ctx: &mut Ctx, _func: i32) -> i32 { + debug!("emscripten::_atexit"); + // TODO: implement atexit properly + // __ATEXIT__.unshift({ + // func: func, + // arg: arg + // }); + 0 +} pub fn __Unwind_Backtrace(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 { debug!("emscripten::__Unwind_Backtrace"); 0 @@ -45,14 +54,37 @@ pub fn _dladdr(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 { debug!("emscripten::_dladdr"); 0 } +pub fn _pthread_attr_init(_ctx: &mut Ctx, _a: i32) -> i32 { + debug!("emscripten::_pthread_attr_init"); + 0 +} +pub fn _pthread_attr_destroy(_ctx: &mut Ctx, _a: i32) -> i32 { + debug!("emscripten::_pthread_attr_destroy"); + 0 +} +pub fn _pthread_attr_getstack(_ctx: &mut Ctx, _stackaddr: i32, _stacksize: i32, _other: i32) -> i32 { + debug!("emscripten::_pthread_attr_getstack"); + // TODO: Translate from Emscripten + // HEAP32[stackaddr >> 2] = STACK_BASE; + // HEAP32[stacksize >> 2] = TOTAL_STACK; + 0 +} pub fn _pthread_cond_destroy(_ctx: &mut Ctx, _a: i32) -> i32 { debug!("emscripten::_pthread_cond_destroy"); 0 } +pub fn _pthread_cond_timedwait(_ctx: &mut Ctx, _a: i32, _b: i32, _c: i32) -> i32 { + debug!("emscripten::_pthread_cond_timedwait"); + 0 +} pub fn _pthread_getspecific(_ctx: &mut Ctx, _a: i32) -> i32 { debug!("emscripten::_pthread_getspecific"); 0 } +pub fn _pthread_getattr_np(_ctx: &mut Ctx, _thread: i32, _attr: i32) -> i32 { + debug!("emscripten::_pthread_getattr_np"); + 0 +} pub fn _pthread_setspecific(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 { debug!("emscripten::_pthread_setspecific"); 0 @@ -69,6 +101,10 @@ pub fn _pthread_create(_ctx: &mut Ctx, _a: i32, _b: i32, _c: i32, _d: i32) -> i3 debug!("emscripten::_pthread_create"); 0 } +pub fn _pthread_detach(_ctx: &mut Ctx, _a: i32) -> i32 { + debug!("emscripten::_pthread_detach"); + 0 +} pub fn _pthread_join(_ctx: &mut Ctx, _a: i32, _b: i32) -> i32 { debug!("emscripten::_pthread_join"); 0 diff --git a/lib/emscripten/src/exception.rs b/lib/emscripten/src/exception.rs index 1f2b098d8..f37c015e5 100644 --- a/lib/emscripten/src/exception.rs +++ b/lib/emscripten/src/exception.rs @@ -28,3 +28,9 @@ pub fn ___cxa_uncaught_exception(_ctx: &mut Ctx) -> i32 { debug!("emscripten::___cxa_uncaught_exception"); -1 } + +pub fn ___cxa_pure_virtual(_ctx: &mut Ctx) { + debug!("emscripten::___cxa_pure_virtual"); + // ABORT = true + panic!("Pure virtual function called!"); +} diff --git a/lib/emscripten/src/lib.rs b/lib/emscripten/src/lib.rs index c41e4b96d..116a0e88d 100644 --- a/lib/emscripten/src/lib.rs +++ b/lib/emscripten/src/lib.rs @@ -619,6 +619,7 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_llvm_eh_typeid_for" => func!(crate::process::_llvm_eh_typeid_for), "_raise" => func!(crate::process::_raise), "_sem_init" => func!(crate::process::_sem_init), + "_sem_destroy" => func!(crate::process::_sem_destroy), "_sem_post" => func!(crate::process::_sem_post), "_sem_wait" => func!(crate::process::_sem_wait), "_getgrent" => func!(crate::process::_getgrent), @@ -658,6 +659,7 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "___cxa_begin_catch" => func!(crate::exception::___cxa_begin_catch), "___cxa_end_catch" => func!(crate::exception::___cxa_end_catch), "___cxa_uncaught_exception" => func!(crate::exception::___cxa_uncaught_exception), + "___cxa_pure_virtual" => func!(crate::exception::___cxa_pure_virtual), // Time "_gettimeofday" => func!(crate::time::_gettimeofday), @@ -686,6 +688,7 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_llvm_cos_f64" => func!(crate::math::_llvm_cos_f64), "_llvm_exp2_f32" => func!(crate::math::_llvm_exp2_f32), "_llvm_exp2_f64" => func!(crate::math::_llvm_exp2_f64), + "_llvm_trunc_f64" => func!(crate::math::_llvm_trunc_f64), "_emscripten_random" => func!(crate::math::_emscripten_random), // Jump @@ -704,6 +707,7 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_dlsym" => func!(crate::linking::_dlsym), // wasm32-unknown-emscripten + "_atexit" => func!(crate::emscripten_target::_atexit), "setTempRet0" => func!(crate::emscripten_target::setTempRet0), "getTempRet0" => func!(crate::emscripten_target::getTempRet0), "invoke_i" => func!(crate::emscripten_target::invoke_i), @@ -726,10 +730,15 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "___resumeException" => func!(crate::emscripten_target::___resumeException), "_dladdr" => func!(crate::emscripten_target::_dladdr), "_pthread_create" => func!(crate::emscripten_target::_pthread_create), + "_pthread_detach" => func!(crate::emscripten_target::_pthread_detach), "_pthread_join" => func!(crate::emscripten_target::_pthread_join), - "_pthread_cond_destroy" => func!(crate::emscripten_target::_pthread_cond_destroy), + "_pthread_attr_init" => func!(crate::emscripten_target::_pthread_attr_init), + "_pthread_attr_destroy" => func!(crate::emscripten_target::_pthread_attr_destroy), + "_pthread_attr_getstack" => func!(crate::emscripten_target::_pthread_attr_getstack), "_pthread_cond_init" => func!(crate::emscripten_target::_pthread_cond_init), + "_pthread_cond_destroy" => func!(crate::emscripten_target::_pthread_cond_destroy), "_pthread_cond_signal" => func!(crate::emscripten_target::_pthread_cond_signal), + "_pthread_cond_timedwait" => func!(crate::emscripten_target::_pthread_cond_timedwait), "_pthread_cond_wait" => func!(crate::emscripten_target::_pthread_cond_wait), "_pthread_condattr_destroy" => func!(crate::emscripten_target::_pthread_condattr_destroy), "_pthread_condattr_init" => func!(crate::emscripten_target::_pthread_condattr_init), @@ -743,6 +752,7 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_pthread_rwlock_unlock" => func!(crate::emscripten_target::_pthread_rwlock_unlock), "_pthread_setcancelstate" => func!(crate::emscripten_target::_pthread_setcancelstate), "_pthread_getspecific" => func!(crate::emscripten_target::_pthread_getspecific), + "_pthread_getattr_np" => func!(crate::emscripten_target::_pthread_getattr_np), "_pthread_setspecific" => func!(crate::emscripten_target::_pthread_setspecific), "_pthread_once" => func!(crate::emscripten_target::_pthread_once), "_pthread_key_create" => func!(crate::emscripten_target::_pthread_key_create), diff --git a/lib/emscripten/src/math.rs b/lib/emscripten/src/math.rs index e0eb10c7d..3256b49c5 100644 --- a/lib/emscripten/src/math.rs +++ b/lib/emscripten/src/math.rs @@ -44,6 +44,11 @@ pub fn _llvm_exp2_f64(_ctx: &mut Ctx, value: f64) -> f64 { 2f64.powf(value) } +pub fn _llvm_trunc_f64(_ctx: &mut Ctx, value: f64) -> f64 { + debug!("emscripten::_llvm_trunc_f64"); + value.trunc() +} + pub fn _emscripten_random(_ctx: &mut Ctx) -> f64 { debug!("emscripten::_emscripten_random"); -1.0 diff --git a/lib/emscripten/src/process.rs b/lib/emscripten/src/process.rs index 4c6e33e70..bd21e69bf 100644 --- a/lib/emscripten/src/process.rs +++ b/lib/emscripten/src/process.rs @@ -83,7 +83,12 @@ pub fn _raise(_ctx: &mut Ctx, _one: i32) -> i32 { pub fn _sem_init(_ctx: &mut Ctx, _one: i32, _two: i32, _three: i32) -> i32 { debug!("emscripten::_sem_init"); - -1 + 0 +} + +pub fn _sem_destroy(_ctx: &mut Ctx, _one: i32) -> i32 { + debug!("emscripten::_sem_destroy"); + 0 } pub fn _sem_post(_ctx: &mut Ctx, _one: i32) -> i32 { From 747e5321a2af62de14e3c8e2b9a98fefee8ccb94 Mon Sep 17 00:00:00 2001 From: Syrus Date: Tue, 30 Apr 2019 12:05:13 -0700 Subject: [PATCH 26/32] Fixed issues. Updated CHANGELOG --- CHANGELOG.md | 1 + lib/emscripten/src/emscripten_target.rs | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37b1390ec..6d3fffc86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All PRs to the Wasmer repository must add to this file. Blocks of changes will separated by version increments. ## **[Unreleased]** +- [#409](https://github.com/wasmerio/wasmer/pull/409) Improved Emscripten functions to run JavascriptCore compiled to wasm - [#399](https://github.com/wasmerio/wasmer/pull/399) Add example of using a plugin extended from WASI - [#397](https://github.com/wasmerio/wasmer/pull/397) Fix WASI fs abstraction to work on Windows - [#390](https://github.com/wasmerio/wasmer/pull/390) Pin released wapm version and add it as a git submodule diff --git a/lib/emscripten/src/emscripten_target.rs b/lib/emscripten/src/emscripten_target.rs index 08a7ef516..8e107bd3c 100644 --- a/lib/emscripten/src/emscripten_target.rs +++ b/lib/emscripten/src/emscripten_target.rs @@ -62,7 +62,12 @@ pub fn _pthread_attr_destroy(_ctx: &mut Ctx, _a: i32) -> i32 { debug!("emscripten::_pthread_attr_destroy"); 0 } -pub fn _pthread_attr_getstack(_ctx: &mut Ctx, _stackaddr: i32, _stacksize: i32, _other: i32) -> i32 { +pub fn _pthread_attr_getstack( + _ctx: &mut Ctx, + _stackaddr: i32, + _stacksize: i32, + _other: i32, +) -> i32 { debug!("emscripten::_pthread_attr_getstack"); // TODO: Translate from Emscripten // HEAP32[stackaddr >> 2] = STACK_BASE; From f2defcd61528a6cdaa42e30cc14382966177840a Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 1 May 2019 14:50:39 +0200 Subject: [PATCH 27/32] doc(readme) Add `ruby-ext-wasm`. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d38ab5c88..b78db7314 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,12 @@ curl https://get.wasmer.io -sSfL | sh ``` Wasmer runtime can also be embedded in different languages, so you can use WebAssembly anywhere ✨: + * [**Rust**](https://github.com/wasmerio/wasmer-rust-example) * [**C/C++**](https://github.com/wasmerio/wasmer-c-api) -* [**PHP**](https://github.com/wasmerio/php-ext-wasm) -* [**Python**](https://github.com/wasmerio/python-ext-wasm) +* [**🐘 PHP**](https://github.com/wasmerio/php-ext-wasm) +* [**🐍 Python**](https://github.com/wasmerio/python-ext-wasm) +* [**💎 Ruby**](https://github.com/wasmerio/ruby-ext-wasm) ### Usage From 67c4d74eb4b6ec35886c5229a7686f3752577b7c Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Wed, 1 May 2019 11:28:14 -0700 Subject: [PATCH 28/32] Update middleware version to 0.4.0 --- lib/middleware-common/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/middleware-common/Cargo.toml b/lib/middleware-common/Cargo.toml index 9abb4041a..7fc44fe43 100644 --- a/lib/middleware-common/Cargo.toml +++ b/lib/middleware-common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmer-middleware-common" -version = "0.3.0" +version = "0.4.0" repository = "https://github.com/wasmerio/wasmer" description = "Wasmer runtime common middlewares" license = "MIT" From c0a5f74d0cea2de3f4754bc2ce0631330ac2354f Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Wed, 1 May 2019 11:32:57 -0700 Subject: [PATCH 29/32] Update lib/middleware-common/Cargo.toml --- lib/middleware-common/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/middleware-common/Cargo.toml b/lib/middleware-common/Cargo.toml index 7fc44fe43..9f1c6984f 100644 --- a/lib/middleware-common/Cargo.toml +++ b/lib/middleware-common/Cargo.toml @@ -8,4 +8,4 @@ authors = ["The Wasmer Engineering Team "] edition = "2018" [dependencies] -wasmer-runtime-core = { path = "../runtime-core", version = "0.3.0" } +wasmer-runtime-core = { path = "../runtime-core", version = "0.4.0" } From 49accd8dbe84e6a24e66911f7571cdbfdcb26542 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Thu, 2 May 2019 15:07:56 -0700 Subject: [PATCH 30/32] use $INSTALL_DIRECTORY instead of $HOME/.wasmer in install.sh --- install.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index c0d0982bd..8cc5ffbff 100755 --- a/install.sh +++ b/install.sh @@ -130,11 +130,11 @@ wasmer_detect_profile() { wasmer_link() { printf "$cyan> Adding to bash profile...$reset\n" WASMER_PROFILE="$(wasmer_detect_profile)" - LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"\$HOME/.wasmer\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" - SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$HOME/.wasmer\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$HOME/.wasmer/bin:\$HOME/.wasmer/globals/wapm_packages/.bin:\$PATH\"\n" + LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"\$INSTALL_DIRECTORY\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" + SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$INSTALL_DIRECTORY\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$WASMER_DIR/bin:\$WASMER_DIR/globals/wapm_packages/.bin:\$PATH\"\n" # We create the wasmer.sh file - printf "$SOURCE_STR" > "$HOME/.wasmer/wasmer.sh" + printf "$SOURCE_STR" > "$INSTALL_DIRECTORY/wasmer.sh" if [ -z "${WASMER_PROFILE-}" ] ; then printf "${red}Profile not found. Tried:\n* ${WASMER_PROFILE} (as defined in \$PROFILE)\n* ~/.bashrc\n* ~/.bash_profile\n* ~/.zshrc\n* ~/.profile.\n" @@ -156,12 +156,12 @@ wasmer_link() { echo "If this isn't the profile of your current shell then please add the following to your correct profile:" printf "$LOAD_STR$reset\n" - version=`$HOME/.wasmer/bin/wasmer --version` || ( + version=`$INSTALL_DIRECTORY/bin/wasmer --version` || ( printf "$red> wasmer was installed, but doesn't seem to be working :($reset\n" exit 1; ) - printf "$green> Successfully installed $version!\n\n${reset}If you want to have the command available now please execute:\nsource $HOME/.wasmer/wasmer.sh$reset\n" + printf "$green> Successfully installed $version!\n\n${reset}If you want to have the command available now please execute:\nsource $INSTALL_DIRECTORY/wasmer.sh$reset\n" printf "\nOtherwise, wasmer and wapm will be available the next time you open the terminal.\n" echo "Note: during the alpha release of wapm, telemetry is enabled by default; if you would like to opt out, run \`wapm config set telemetry.enabled false\`." echo "If you notice anything wrong or have any issues, please file a bug at https://github.com/wasmerio/wapm-cli :)" @@ -257,7 +257,7 @@ wasmer_install() { " fi -# if [ -d "$HOME/.wasmer" ]; then +# if [ -d "$INSTALL_DIRECTORY" ]; then # if which wasmer; then # local latest_url # local specified_version @@ -286,11 +286,11 @@ wasmer_install() { # exit 0 # else # printf "$yellow> $wasmer_alt_version is already installed, Specified version: $specified_version.$reset\n" -# rm -rf "$HOME/.wasmer" +# rm -rf "$INSTALL_DIRECTORY" # fi # else -# printf "$red> $HOME/.wasmer already exists, possibly from a past Wasmer install.$reset\n" -# printf "$red> Remove it (rm -rf $HOME/.wasmer) and run this script again.$reset\n" +# printf "$red> $INSTALL_DIRECTORY already exists, possibly from a past Wasmer install.$reset\n" +# printf "$red> Remove it (rm -rf $INSTALL_DIRECTORY) and run this script again.$reset\n" # exit 0 # fi # fi From 7104e1c963e69cef8b77b2740fbf9e893bff4725 Mon Sep 17 00:00:00 2001 From: Mackenzie Clark Date: Thu, 2 May 2019 15:29:35 -0700 Subject: [PATCH 31/32] create wasmer dir on install for windows --- Cargo.lock | 86 ++++++++++++++++++++-------------------- src/installer/wasmer.iss | 7 +++- 2 files changed, 48 insertions(+), 45 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ad4e6b3b2..2da3792cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2234,20 +2234,20 @@ dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "structopt 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-backend 0.3.0", - "wasmer-emscripten 0.3.0", - "wasmer-llvm-backend 0.3.0", - "wasmer-middleware-common 0.3.0", - "wasmer-runtime 0.3.0", - "wasmer-runtime-abi 0.3.0", - "wasmer-runtime-core 0.3.0", - "wasmer-singlepass-backend 0.3.0", - "wasmer-wasi 0.3.0", + "wasmer-clif-backend 0.4.0", + "wasmer-emscripten 0.4.0", + "wasmer-llvm-backend 0.4.0", + "wasmer-middleware-common 0.4.0", + "wasmer-runtime 0.4.0", + "wasmer-runtime-abi 0.4.0", + "wasmer-runtime-core 0.4.0", + "wasmer-singlepass-backend 0.4.0", + "wasmer-wasi 0.4.0", ] [[package]] name = "wasmer-clif-backend" -version = "0.3.0" +version = "0.4.0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2263,15 +2263,15 @@ dependencies = [ "serde_bytes 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", - "wasmer-win-exception-handler 0.3.0", + "wasmer-runtime-core 0.4.0", + "wasmer-win-exception-handler 0.4.0", "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasmer-emscripten" -version = "0.3.0" +version = "0.4.0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2280,15 +2280,15 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-backend 0.3.0", - "wasmer-llvm-backend 0.3.0", - "wasmer-runtime-core 0.3.0", - "wasmer-singlepass-backend 0.3.0", + "wasmer-clif-backend 0.4.0", + "wasmer-llvm-backend 0.4.0", + "wasmer-runtime-core 0.4.0", + "wasmer-singlepass-backend 0.4.0", ] [[package]] name = "wasmer-llvm-backend" -version = "0.3.0" +version = "0.4.0" dependencies = [ "capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2303,42 +2303,42 @@ dependencies = [ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasmer-middleware-common" -version = "0.3.0" +version = "0.4.0" dependencies = [ - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", ] [[package]] name = "wasmer-runtime" -version = "0.3.0" +version = "0.4.0" dependencies = [ "criterion 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-backend 0.3.0", - "wasmer-llvm-backend 0.3.0", - "wasmer-runtime-core 0.3.0", - "wasmer-singlepass-backend 0.3.0", + "wasmer-clif-backend 0.4.0", + "wasmer-llvm-backend 0.4.0", + "wasmer-runtime-core 0.4.0", + "wasmer-singlepass-backend 0.4.0", ] [[package]] name = "wasmer-runtime-abi" -version = "0.3.0" +version = "0.4.0" dependencies = [ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", "zbox 0.6.1 (git+https://github.com/wasmerio/zbox?branch=bundle-libsodium)", "zstd 0.4.22+zstd.1.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2346,17 +2346,17 @@ dependencies = [ [[package]] name = "wasmer-runtime-c-api" -version = "0.3.0" +version = "0.4.0" dependencies = [ "cbindgen 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime 0.3.0", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime 0.4.0", + "wasmer-runtime-core 0.4.0", ] [[package]] name = "wasmer-runtime-core" -version = "0.3.0" +version = "0.4.0" dependencies = [ "blake2b_simd 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2382,7 +2382,7 @@ dependencies = [ [[package]] name = "wasmer-singlepass-backend" -version = "0.3.0" +version = "0.4.0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "dynasm 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2392,24 +2392,24 @@ dependencies = [ "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasmer-spectests" -version = "0.3.0" +version = "0.4.0" dependencies = [ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-backend 0.3.0", - "wasmer-llvm-backend 0.3.0", - "wasmer-runtime-core 0.3.0", - "wasmer-singlepass-backend 0.3.0", + "wasmer-clif-backend 0.4.0", + "wasmer-llvm-backend 0.4.0", + "wasmer-runtime-core 0.4.0", + "wasmer-singlepass-backend 0.4.0", ] [[package]] name = "wasmer-wasi" -version = "0.3.0" +version = "0.4.0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "generational-arena 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2417,18 +2417,18 @@ dependencies = [ "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", ] [[package]] name = "wasmer-win-exception-handler" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bindgen 0.46.0 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.3.0", + "wasmer-runtime-core 0.4.0", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/src/installer/wasmer.iss b/src/installer/wasmer.iss index 999b4f49d..16a396593 100644 --- a/src/installer/wasmer.iss +++ b/src/installer/wasmer.iss @@ -18,6 +18,9 @@ DisableWelcomePage=no Source: "..\..\target\release\wasmer.exe"; DestDir: "{app}\bin" Source: "..\..\wapm-cli\target\release\wapm.exe"; DestDir: "{app}\bin" +[Dirs] +Name: "{%USERPROFILE}\.wasmer" + [Code] const EnvironmentKey = 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'; @@ -68,7 +71,7 @@ begin if CurStep = ssPostInstall then begin EnvAddPath(ExpandConstant('{app}') +'\bin'); - EnvAddPath(ExpandConstant('{app}') +'\globals\wapm_packages\.bin'); + EnvAddPath(ExpandConstant('{%USERPROFILE}') +'\globals\wapm_packages\.bin'); end end; @@ -77,6 +80,6 @@ begin if CurUninstallStep = usPostUninstall then begin EnvRemovePath(ExpandConstant('{app}') +'\bin'); - EnvAddPath(ExpandConstant('{app}') +'\globals\wapm_packages\.bin'); + EnvAddPath(ExpandConstant('{%USERPROFILE}') +'\globals\wapm_packages\.bin'); end end; \ No newline at end of file From fdc6e53f6efaaf48d8ef0fa7cbde05422200970a Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Thu, 2 May 2019 15:35:48 -0700 Subject: [PATCH 32/32] unescape $INSTALL_DIRECTORY in message to user --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 8cc5ffbff..8d4e1e9d2 100755 --- a/install.sh +++ b/install.sh @@ -130,8 +130,8 @@ wasmer_detect_profile() { wasmer_link() { printf "$cyan> Adding to bash profile...$reset\n" WASMER_PROFILE="$(wasmer_detect_profile)" - LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"\$INSTALL_DIRECTORY\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" - SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"\$INSTALL_DIRECTORY\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$WASMER_DIR/bin:\$WASMER_DIR/globals/wapm_packages/.bin:\$PATH\"\n" + LOAD_STR="\n# Wasmer\nexport WASMER_DIR=\"$INSTALL_DIRECTORY\"\n[ -s \"\$WASMER_DIR/wasmer.sh\" ] && source \"\$WASMER_DIR/wasmer.sh\" # This loads wasmer\n" + SOURCE_STR="# Wasmer config\nexport WASMER_DIR=\"$INSTALL_DIRECTORY\"\nexport WASMER_CACHE_DIR=\"\$WASMER_DIR/cache\"\nexport PATH=\"\$WASMER_DIR/bin:\$WASMER_DIR/globals/wapm_packages/.bin:\$PATH\"\n" # We create the wasmer.sh file printf "$SOURCE_STR" > "$INSTALL_DIRECTORY/wasmer.sh"