about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2018-03-09 14:53:15 +0100
committerJohannes Löthberg <johannes@kyriasis.com>2018-03-09 14:53:15 +0100
commit1dbce4b0afb8f76eb7cd7aad0e3c34d4f7fc2274 (patch)
treee3b7b9b2bc41cd8b3e21652c7524f1f64a3d9d2c
parent54b68b656913baa760dc9daf75796e84172f810a (diff)
downloadrust-1dbce4b0afb8f76eb7cd7aad0e3c34d4f7fc2274.tar.gz
rust-1dbce4b0afb8f76eb7cd7aad0e3c34d4f7fc2274.zip
Make the default relro level be doing nothing at all
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
-rw-r--r--src/librustc_back/lib.rs4
-rw-r--r--src/librustc_back/target/mod.rs2
-rw-r--r--src/librustc_trans/back/link.rs2
3 files changed, 7 insertions, 1 deletions
diff --git a/src/librustc_back/lib.rs b/src/librustc_back/lib.rs
index 9de56cca339..9baee267709 100644
--- a/src/librustc_back/lib.rs
+++ b/src/librustc_back/lib.rs
@@ -131,6 +131,7 @@ pub enum RelroLevel {
     Full,
     Partial,
     Off,
+    None,
 }
 
 impl RelroLevel {
@@ -139,6 +140,7 @@ impl RelroLevel {
             RelroLevel::Full => "full",
             RelroLevel::Partial => "partial",
             RelroLevel::Off => "off",
+            RelroLevel::None => "none",
         }
     }
 }
@@ -151,6 +153,7 @@ impl FromStr for RelroLevel {
             "full" => Ok(RelroLevel::Full),
             "partial" => Ok(RelroLevel::Partial),
             "off" => Ok(RelroLevel::Off),
+            "none" => Ok(RelroLevel::None),
             _ => Err(()),
         }
     }
@@ -162,6 +165,7 @@ impl ToJson for RelroLevel {
             RelroLevel::Full => "full".to_json(),
             RelroLevel::Partial => "partial".to_json(),
             RelroLevel::Off => "off".to_json(),
+            RelroLevel::None => "None".to_json(),
         }
     }
 }
diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
index 0a3e1826f3a..250d85d4520 100644
--- a/src/librustc_back/target/mod.rs
+++ b/src/librustc_back/target/mod.rs
@@ -514,7 +514,7 @@ impl Default for TargetOptions {
             has_rpath: false,
             no_default_libraries: true,
             position_independent_executables: false,
-            relro_level: RelroLevel::Off,
+            relro_level: RelroLevel::None,
             pre_link_objects_exe: Vec::new(),
             pre_link_objects_dll: Vec::new(),
             post_link_objects: Vec::new(),
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
index 56b845c3049..235a95f63e4 100644
--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -1017,6 +1017,8 @@ fn link_args(cmd: &mut Linker,
         RelroLevel::Off => {
             cmd.no_relro();
         },
+        RelroLevel::None => {
+        },
     }
 
     // Pass optimization flags down to the linker.