about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Middleton <olliemail27@gmail.com>2016-02-09 17:20:32 +0000
committerOliver Middleton <olliemail27@gmail.com>2016-02-11 12:07:57 +0000
commitc3320c04986cc3dcb6b0c6ab9e1b896bda493c61 (patch)
treebfcab725464e5120a20c71582b02e4d256f17b55
parent1da127bbd318abb2120339760bbfa4fd78d7889f (diff)
downloadrust-c3320c04986cc3dcb6b0c6ab9e1b896bda493c61.tar.gz
rust-c3320c04986cc3dcb6b0c6ab9e1b896bda493c61.zip
Enable /SAFESEH for i686-pc-windows-msvc
-rw-r--r--src/librustc_back/target/i686_pc_windows_msvc.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/librustc_back/target/i686_pc_windows_msvc.rs b/src/librustc_back/target/i686_pc_windows_msvc.rs
index 7079df1ab3b..7fe65906189 100644
--- a/src/librustc_back/target/i686_pc_windows_msvc.rs
+++ b/src/librustc_back/target/i686_pc_windows_msvc.rs
@@ -18,6 +18,11 @@ pub fn target() -> Target {
     // space available to x86 Windows binaries on x86_64.
     base.pre_link_args.push("/LARGEADDRESSAWARE".to_string());
 
+    // Ensure the linker will only produce an image if it can also produce a table of
+    // the image's safe exception handlers.
+    // https://msdn.microsoft.com/en-us/library/9a89h429.aspx
+    base.pre_link_args.push("/SAFESEH".to_string());
+
     Target {
         llvm_target: "i686-pc-windows-msvc".to_string(),
         target_endian: "little".to_string(),