fix(web): keep wasm target_features section so wasm-opt accepts bulk-memory
The release profile's strip = true (added in #324) strips the wasm target_features custom section. Without it, wasm-opt can't tell that bulk-memory is enabled and rejects the module's memory.fill/copy ops ("operations require bulk memory"), failing the release web build — the newer Rust toolchain now emits those ops by default. Override strip only for the wasm target with -Cstrip=none, so native release binaries stay stripped while the wasm keeps its feature section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
3928f1cfa5
commit
88450f0cd1
1 changed files with 7 additions and 1 deletions
|
|
@ -2,5 +2,11 @@
|
|||
# browser backend on wasm32-unknown-unknown, alongside its `wasm_js` feature
|
||||
# (enabled in Cargo.toml for the wasm target). Without it the web build fails
|
||||
# with "wasm32-unknown-unknown targets are not supported by default".
|
||||
#
|
||||
# `-Cstrip=none` overrides the release profile's `strip = true` for the wasm
|
||||
# target only: stripping removes the `target_features` custom section, so
|
||||
# `wasm-opt` can no longer see that `bulk-memory` is enabled and rejects the
|
||||
# module's memory.fill/copy ops ("require bulk memory"). Native release binaries
|
||||
# stay stripped; only the wasm keeps its feature section.
|
||||
[target.wasm32-unknown-unknown]
|
||||
rustflags = ['--cfg', 'getrandom_backend="wasm_js"']
|
||||
rustflags = ['--cfg', 'getrandom_backend="wasm_js"', '-Cstrip=none']
|
||||
|
|
|
|||
Loading…
Reference in a new issue