about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2014-08-16 05:05:57 -0400
committerDaniel Micay <danielmicay@gmail.com>2014-08-16 05:20:31 -0400
commitd3c71a5890b8f8a9e03cac11b769e07bb3f2a450 (patch)
treef624be9265f859a45d10af5bc2dc438058fc2db8
parentcafa47506db7f0ac8407d5771ec81f560c5a481f (diff)
downloadrust-d3c71a5890b8f8a9e03cac11b769e07bb3f2a450.tar.gz
rust-d3c71a5890b8f8a9e03cac11b769e07bb3f2a450.zip
enable DEP (NX bit) for 32-bit Windows executables
This is already enabled by default for x86_64 executables on Windows,
but it needs to be manually enabled on x86.

Closes #16533
-rw-r--r--src/librustc/back/link.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index f3e130cf768..03a51ee8db5 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -1472,6 +1472,9 @@ fn link_args(cmd: &mut Command,
         // [1] - https://sourceware.org/bugzilla/show_bug.cgi?id=13130
         // [2] - https://code.google.com/p/go/issues/detail?id=2139
         cmd.arg("-Wl,--enable-long-section-names");
+
+        // Always enable DEP (NX bit) when it is available
+        cmd.arg("-Wl,--nxcompat");
     }
 
     if sess.targ_cfg.os == abi::OsAndroid {