]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #105405 - sunfishcode:sunfishcode/export-dynamic, r=TaKO8Ki
authorMatthias Krüger <matthias.krueger@famsik.de>
Thu, 8 Dec 2022 11:57:30 +0000 (12:57 +0100)
committerGitHub <noreply@github.com>
Thu, 8 Dec 2022 11:57:30 +0000 (12:57 +0100)
commit4d5a2f3d81ed3d36bef505258149bcee1be1394b
tree2b5bf8f038f3c8a0c970224ceca9e2da76ba4e59
parentf1f7560598f2543ecc33bd4c1c013a4e76d8f50c
parent3a07aa9b5e9612a0b4fd0852763c34e1f244794b
Rollup merge of #105405 - sunfishcode:sunfishcode/export-dynamic, r=TaKO8Ki

Stop passing -export-dynamic to wasm-ld.

-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.