Rust 1.96+ no longer passes --allow-undefined to wasm-ld (rust-lang/rust#149868). Previously a bare extern "C" block on wasm32-unknown-unknown implicitly imported symbols from the env module.
Now, as upstream stated, we must explicitly add the link to env.
Steps to reproduce
$ cd wasm-mappings/source-map-mappings-wasm-api
$ rustup update nightly
$ cargo +1.95.0 build --target wasm32-unknown-unknown
$ cargo +nightly build --target wasm32-unknown-unknown
Expected result
The build should pass for both toolchains.
Actual result
The build passes for Rust 1.95.0, but fails on 1.96.0+:
error: linking with `rust-lld` failed: exit status: 1
|
[...]
= note: rust-lld: error: /home/maxgmr/sources/source-map/wasm-mappings/source-map-mappings-wasm-api/target/wasm32-unknown-unknown/debug/deps/source_map_mappings_wasm_api.8e20wo29qqjt46oljko96p7gc.02rjxce.rcgu.o: undefined symbol: mapping_callback
Rust 1.96+ no longer passes
--allow-undefinedtowasm-ld(rust-lang/rust#149868). Previously a bareextern "C"block onwasm32-unknown-unknownimplicitly imported symbols from theenvmodule.Now, as upstream stated, we must explicitly add the link to
env.Steps to reproduce
Expected result
The build should pass for both toolchains.
Actual result
The build passes for Rust 1.95.0, but fails on 1.96.0+: