Skip to content

Commit 306e7b4

Browse files
committed
Emscripten: link with -sWASM_BIGINT
When linking an executable without dynamic linking, this is a pure improvement. It significantly reduces code size and avoids a lot of buggy behaviors. It is supported in all browsers for many years and in all maintained versions of Node. It does change the ABI, so people who are dynamically linking with a library or executable that uses the old ABI may need to turn it off. It can be disabled if needed by passing `-Clink-arg -sWASM_BIGINT=0` to `rustc`. But few people will want to turn it off.
1 parent 17a19e6 commit 306e7b4

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

compiler/rustc_codegen_ssa/src/back/linker.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1147,6 +1147,7 @@ impl<'a> Linker for EmLinker<'a> {
11471147
_crate_type: CrateType,
11481148
_out_filename: &Path,
11491149
) {
1150+
self.cmd.arg("-sWASM_BIGINT");
11501151
}
11511152

11521153
fn link_dylib_by_name(&mut self, name: &str, _verbatim: bool, _as_needed: bool) {

0 commit comments

Comments
 (0)