diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 79776ffe..8340af02 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -89,17 +89,28 @@ jobs: run: | rustup toolchain install stable --component clippy --component rustfmt rustup target add wasm32-unknown-unknown + rustup target add wasm32-wasi - - name: Build + - name: Build (wasm32-unknown-unknown) env: RUSTFLAGS: -D warnings -C link-args=-S run: cargo build --release --all-targets --target=wasm32-unknown-unknown - - name: Format (clippy) + - name: Clippy (wasm32-unknown-unknown) env: RUSTFLAGS: -D warnings -C link-args=-S run: cargo clippy --release --all-targets --target=wasm32-unknown-unknown + - name: Build (wasm32-wasi) + env: + RUSTFLAGS: -D warnings -C link-args=-S + run: cargo build --release --all-targets --target=wasm32-wasi + + - name: Clippy (wasm32-wasi) + env: + RUSTFLAGS: -D warnings -C link-args=-S + run: cargo clippy --release --all-targets --target=wasm32-wasi + - name: Format (rustfmt) run: cargo fmt -- --check @@ -122,18 +133,29 @@ jobs: run: | rustup toolchain install nightly --component clippy --component rustfmt rustup +nightly target add wasm32-unknown-unknown + rustup +nightly target add wasm32-wasi rustup default nightly - - name: Build + - name: Build (wasm32-unknown-unknown) env: RUSTFLAGS: -D warnings -C link-args=-S run: cargo build --release --all-targets --target=wasm32-unknown-unknown - - name: Format (clippy) + - name: Clippy (wasm32-unknown-unknown) env: RUSTFLAGS: -D warnings -C link-args=-S run: cargo clippy --release --all-targets --target=wasm32-unknown-unknown + - name: Build (wasm32-wasi) + env: + RUSTFLAGS: -D warnings -C link-args=-S + run: cargo build --release --all-targets --target=wasm32-wasi + + - name: Clippy (wasm32-wasi) + env: + RUSTFLAGS: -D warnings -C link-args=-S + run: cargo clippy --release --all-targets --target=wasm32-wasi + - name: Format (rustfmt) run: cargo fmt -- --check diff --git a/src/allocator.rs b/src/allocator.rs index 5e66543b..3c708a60 100644 --- a/src/allocator.rs +++ b/src/allocator.rs @@ -15,8 +15,12 @@ #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; +#[cfg_attr( + all(target_arch = "wasm32", target_os = "unknown"), + export_name = "malloc" +)] #[no_mangle] -pub extern "C" fn malloc(size: usize) -> *mut u8 { +pub extern "C" fn proxy_on_memory_allocate(size: usize) -> *mut u8 { let mut vec: Vec = Vec::with_capacity(size); unsafe { vec.set_len(size);