about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/fuchsia_base.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-06-27 00:27:40 +0000
committerbors <bors@rust-lang.org>2022-06-27 00:27:40 +0000
commit221bdb62a23f54a32b56b55a6578646f3594fd3b (patch)
tree2399dd952543d5d43ac5388ffeb05772e0cd47e3 /compiler/rustc_target/src/spec/fuchsia_base.rs
parent3b0d4813ab461ec81eab8980bb884691c97c5a35 (diff)
parent456f65ec8b7ec815cab39929b31f4b6e181651c2 (diff)
downloadrust-221bdb62a23f54a32b56b55a6578646f3594fd3b.tar.gz
rust-221bdb62a23f54a32b56b55a6578646f3594fd3b.zip
Auto merge of #98212 - petrochenkov:addlinkargs, r=lqd
rustc_target: Add convenience functions for adding linker arguments

They ensure that lld and non-lld linker flavors get the same set of arguments.

The second commit also adds some tests checking for linker argument inconsistencies, and tweaks some arguments to fix those inconsistencies.
Diffstat (limited to 'compiler/rustc_target/src/spec/fuchsia_base.rs')
-rw-r--r--compiler/rustc_target/src/spec/fuchsia_base.rs33
1 files changed, 15 insertions, 18 deletions
diff --git a/compiler/rustc_target/src/spec/fuchsia_base.rs b/compiler/rustc_target/src/spec/fuchsia_base.rs
index b64875e32bd..b02b70f76ee 100644
--- a/compiler/rustc_target/src/spec/fuchsia_base.rs
+++ b/compiler/rustc_target/src/spec/fuchsia_base.rs
@@ -1,23 +1,20 @@
-use crate::spec::{
-    crt_objects, cvs, LinkArgs, LinkOutputKind, LinkerFlavor, LldFlavor, TargetOptions,
-};
+use crate::spec::{crt_objects, cvs, LinkOutputKind, LinkerFlavor, LldFlavor, TargetOptions};
 
 pub fn opts() -> TargetOptions {
-    let mut pre_link_args = LinkArgs::new();
-    pre_link_args.insert(
-        LinkerFlavor::Lld(LldFlavor::Ld),
-        vec![
-            "--build-id".into(),
-            "--hash-style=gnu".into(),
-            "-z".into(),
-            "max-page-size=4096".into(),
-            "-z".into(),
-            "now".into(),
-            "-z".into(),
-            "rodynamic".into(),
-            "-z".into(),
-            "separate-loadable-segments".into(),
-            "--pack-dyn-relocs=relr".into(),
+    let pre_link_args = TargetOptions::link_args(
+        LinkerFlavor::Ld,
+        &[
+            "--build-id",
+            "--hash-style=gnu",
+            "-z",
+            "max-page-size=4096",
+            "-z",
+            "now",
+            "-z",
+            "rodynamic",
+            "-z",
+            "separate-loadable-segments",
+            "--pack-dyn-relocs=relr",
         ],
     );