about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-06-17 17:38:42 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-06-25 21:55:56 +0300
commit46aba8850b1d4099dfdb060d070978a6ba70cad5 (patch)
tree563b3221e2d173345fe31f64db9e815ffa306bf5 /compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
parent8aab472d52ba7314dc193c73abcd384e2586123c (diff)
downloadrust-46aba8850b1d4099dfdb060d070978a6ba70cad5.tar.gz
rust-46aba8850b1d4099dfdb060d070978a6ba70cad5.zip
rustc_target: Add convenience functions for adding linker arguments
They ensure that lld and non-lld linker flavors get the same set of arguments
Diffstat (limited to 'compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs')
-rw-r--r--compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs b/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
index 1b94c59b55f..fbcc2aba5b7 100644
--- a/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
+++ b/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
@@ -1,23 +1,16 @@
 use super::{cvs, wasm_base};
-use super::{LinkArgs, LinkerFlavor, PanicStrategy, RelocModel, Target, TargetOptions};
+use super::{LinkerFlavor, PanicStrategy, RelocModel, Target, TargetOptions};
 
 pub fn target() -> Target {
     let mut options = wasm_base::options();
 
-    let clang_args = options.pre_link_args.entry(LinkerFlavor::Gcc).or_default();
-
     // Rust really needs a way for users to specify exports and imports in
     // the source code. --export-dynamic isn't the right tool for this job,
     // however it does have the side effect of automatically exporting a lot
     // of symbols, which approximates what people want when compiling for
     // wasm32-unknown-unknown expect, so use it for now.
-    clang_args.push("--export-dynamic".into());
-
-    let mut post_link_args = LinkArgs::new();
-    post_link_args.insert(
-        LinkerFlavor::Em,
-        vec!["-sABORTING_MALLOC=0".into(), "-Wl,--fatal-warnings".into()],
-    );
+    options.add_pre_link_args(LinkerFlavor::Gcc, &["--export-dynamic"]);
+    options.add_post_link_args(LinkerFlavor::Em, &["-sABORTING_MALLOC=0", "-Wl,--fatal-warnings"]);
 
     let opts = TargetOptions {
         os: "emscripten".into(),
@@ -29,7 +22,6 @@ pub fn target() -> Target {
         relocation_model: RelocModel::Pic,
         panic_strategy: PanicStrategy::Unwind,
         no_default_libraries: false,
-        post_link_args,
         families: cvs!["unix", "wasm"],
         ..options
     };