about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-05-31 01:07:37 +0000
committerbors <bors@rust-lang.org>2020-05-31 01:07:37 +0000
commitea7181b5f7a888c2cf969ae86de7207fa5fb40aa (patch)
treee2dd2cedd2cb23c39b7660315c647c96297416a6
parent8c5402efdda733d163895d1edb9bcf7f401dd33b (diff)
parentc85768ed71eb09689e2065b122310dad2e1c42f6 (diff)
downloadrust-ea7181b5f7a888c2cf969ae86de7207fa5fb40aa.tar.gz
rust-ea7181b5f7a888c2cf969ae86de7207fa5fb40aa.zip
Auto merge of #72116 - petrhosek:fuchsia-ld-flags, r=tmandry
Update the Fuchsia linker defaults

This updates the linker defaults aligning them with Clang. Specifically,
we use 4K pages on all platforms, we always use BIND_NOW, we prefer all
loadable segments be separate and page aligned, and we support RELR
relocations.
-rw-r--r--src/librustc_target/spec/fuchsia_base.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/librustc_target/spec/fuchsia_base.rs b/src/librustc_target/spec/fuchsia_base.rs
index 96b5328e1ee..dd55788b664 100644
--- a/src/librustc_target/spec/fuchsia_base.rs
+++ b/src/librustc_target/spec/fuchsia_base.rs
@@ -9,7 +9,14 @@ pub fn opts() -> TargetOptions {
             "--eh-frame-hdr".to_string(),
             "--hash-style=gnu".to_string(),
             "-z".to_string(),
+            "max-page-size=4096".to_string(),
+            "-z".to_string(),
+            "now".to_string(),
+            "-z".to_string(),
             "rodynamic".to_string(),
+            "-z".to_string(),
+            "separate-loadable-segments".to_string(),
+            "--pack-dyn-relocs=relr".to_string(),
         ],
     );