summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_target/src/spec/wasm_base.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_target/src/spec/wasm_base.rs')
-rw-r--r--compiler/rustc_target/src/spec/wasm_base.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
index 625d3b37c..341763aad 100644
--- a/compiler/rustc_target/src/spec/wasm_base.rs
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
@@ -1,3 +1,4 @@
+use super::crt_objects::LinkSelfContainedDefault;
use super::{cvs, Cc, LinkerFlavor, PanicStrategy, RelocModel, TargetOptions, TlsModel};
pub fn options() -> TargetOptions {
@@ -94,6 +95,13 @@ pub fn options() -> TargetOptions {
pre_link_args,
+ // FIXME: Figure out cases in which WASM needs to link with a native toolchain.
+ //
+ // rust-lang/rust#104137: cannot blindly remove this without putting in
+ // some other way to compensate for lack of `-nostartfiles` in linker
+ // invocation.
+ link_self_contained: LinkSelfContainedDefault::True,
+
// This has no effect in LLVM 8 or prior, but in LLVM 9 and later when
// PIC code is implemented this has quite a drastic effect if it stays
// at the default, `pic`. In an effort to keep wasm binaries as minimal