From 8893546f2741031a04ac3d61e57f4225c916861d Mon Sep 17 00:00:00 2001 From: Master-Hash Date: Thu, 23 Apr 2026 19:16:50 +0800 Subject: [PATCH 1/5] unwind --- .github/workflows/main.yml | 4 ++-- Cargo.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05c0d67..897b7dd 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 -Ctarget-feature=+simd128,+bulk-memory,+mutable-globals steps: - uses: actions/checkout@v6 @@ -69,7 +69,7 @@ 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 - run: pnpm run build 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 From 55d66c7e9e7a8629bb7ea6eb7997bd7adbffefc9 Mon Sep 17 00:00:00 2001 From: Master-Hash Date: Thu, 23 Apr 2026 19:19:02 +0800 Subject: [PATCH 2/5] test panic --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index 0b3f308..86fdea1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -136,6 +136,7 @@ pub fn bitmap_to_png(rgba_data: &[u8], width: u32, height: u32) -> Result Date: Thu, 23 Apr 2026 19:27:53 +0800 Subject: [PATCH 3/5] bump wasm-opt --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 897b7dd..6317156 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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: @@ -71,7 +71,7 @@ jobs: - run: | 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: From ca4e360ec18009cb9a2b8538278380dd1e6adb6d Mon Sep 17 00:00:00 2001 From: Master-Hash Date: Thu, 23 Apr 2026 19:30:43 +0800 Subject: [PATCH 4/5] test --- src/lib.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 86fdea1..22833dd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -136,7 +136,6 @@ pub fn bitmap_to_png(rgba_data: &[u8], width: u32, height: u32) -> Result Result i32 { + if b == 0 { + panic!("division by zero"); + } + a / b +} From f0a1267c9cddeeb4a7a0ddcbaed4b56bf3849324 Mon Sep 17 00:00:00 2001 From: Hash Date: Thu, 23 Apr 2026 21:36:25 +0800 Subject: [PATCH 5/5] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6317156..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 -Cpanic=unwind -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