Stop passing -export-dynamic to wasm-ld. by sunfishcode · Pull Request #105405 · rust-lang/rust (original) (raw)
-export-dynamic was a temporary hack added in the early days of the Rust wasm32 target when Rust didn't have a way to specify wasm exports in the source code. This flag causes all global symbols, and some compiler-internal symbols, to be exported, which is often more than needed.
Rust now does have a way to specify exports in the source code: #[export_name = "..."]
.
So as the original comment suggests, -export-dynamic can now be removed, allowing users to have smaller binaries and better encapsulation in their wasm32-unknown-unknown modules.
It's possible that this change will require existing wasm32-unknown-unknown users will to add explicit #[export_name = "..."]
directives to exporrt the symbols that their programs depend on having exported.