about summary refs log tree commit diff
path: root/src/bootstrap/lib.rs
diff options
context:
space:
mode:
authorTim Neumann <mail@timnn.me>2017-04-17 10:24:33 +0200
committerTim Neumann <mail@timnn.me>2017-04-23 22:00:03 +0200
commitf3dda17469bd70feaf6a1d979cdc65dd450f8fcb (patch)
tree49bd646d5b155bf2145f7a90bd7e8650dfad740c /src/bootstrap/lib.rs
parent67560f6fae7c4c6ae7f1f78a9ba17f5e0d9f9037 (diff)
downloadrust-f3dda17469bd70feaf6a1d979cdc65dd450f8fcb.tar.gz
rust-f3dda17469bd70feaf6a1d979cdc65dd450f8fcb.zip
FIN: Compile LLVM with -fno-omit-frame-pointer on 32bit MinGW builds
to work around an apparently bad optimization.
Diffstat (limited to 'src/bootstrap/lib.rs')
-rw-r--r--src/bootstrap/lib.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index 84254d7d6ae..27d4e309a75 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -874,6 +874,13 @@ impl Build {
         if target.contains("apple-darwin") {
             base.push("-stdlib=libc++".into());
         }
+
+        // Work around an apparently bad MinGW / GCC optimization,
+        // See: http://lists.llvm.org/pipermail/cfe-dev/2016-December/051980.html
+        // See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78936
+        if target == "i686-pc-windows-gnu" {
+            base.push("-fno-omit-frame-pointer".into());
+        }
         return base
     }