diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05c0d67..31b190c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,7 @@ jobs: contents: read pull-requests: write env: - RUSTFLAGS: -Dwarnings -Ctarget-feature=+simd128,+bulk-memory,+mutable-globals + RUSTFLAGS: -Dwarnings -Cpanic=unwind -Cllvm-args=-wasm-use-legacy-eh=false -Ctarget-feature=+simd128,+bulk-memory,+mutable-globals steps: - uses: actions/checkout@v6 @@ -35,10 +35,10 @@ jobs: - uses: supplypike/setup-bin@v5 with: - uri: "https://github.com/WebAssembly/binaryen/releases/download/version_126/binaryen-version_126-aarch64-linux.tar.gz" + uri: "https://github.com/WebAssembly/binaryen/releases/download/version_129/binaryen-version_129-aarch64-linux.tar.gz" name: "wasm-opt" - version: "126" - subPath: "binaryen-version_126/bin" + version: "129" + subPath: "binaryen-version_129/bin" - uses: taiki-e/install-action@v2 with: @@ -69,9 +69,9 @@ jobs: run: pnpm install - run: | - cargo +nightly build --release --target wasm32-unknown-unknown --no-default-features -F png -Z build-std=panic_abort,std + cargo +nightly build --release --target wasm32-unknown-unknown --no-default-features -F png -Z build-std=panic_unwind,std wasm-bindgen ./target/wasm32-unknown-unknown/release/bitmap_to_png.wasm --out-dir ./pkg --typescript --target web - wasm-opt ./pkg/bitmap_to_png_bg.wasm -o ./pkg/bitmap_to_png_bg.wasm -Oz --dce --enable-simd --enable-bulk-memory --enable-nontrapping-float-to-int --enable-mutable-globals + wasm-opt ./pkg/bitmap_to_png_bg.wasm -o ./pkg/bitmap_to_png_bg.wasm -Oz --dce --enable-simd --enable-bulk-memory --enable-nontrapping-float-to-int --enable-mutable-globals --emit-exnref --translate-to-exnref - run: pnpm run build - uses: actions/upload-artifact@v7 with: diff --git a/Cargo.toml b/Cargo.toml index 3cb7baa..c0acd29 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ default = ["png"] [profile.release] opt-level = 3 debug = false -strip = true +# strip = true lto = true -panic = "abort" +panic = "unwind" codegen-units = 1 diff --git a/src/lib.rs b/src/lib.rs index 0b3f308..22833dd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -146,3 +146,11 @@ pub fn bitmap_to_png(rgba_data: &[u8], width: u32, height: u32) -> Result i32 { + if b == 0 { + panic!("division by zero"); + } + a / b +}