diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2022-06-17 17:38:42 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2022-06-25 21:55:56 +0300 |
| commit | 46aba8850b1d4099dfdb060d070978a6ba70cad5 (patch) | |
| tree | 563b3221e2d173345fe31f64db9e815ffa306bf5 /compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs | |
| parent | 8aab472d52ba7314dc193c73abcd384e2586123c (diff) | |
| download | rust-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.rs | 14 |
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 }; |
