]> git.lizzy.rs Git - rust.git/commitdiff
Disable debug sections when optimization flags is set for LLD.
authorYury Delendik <ydelendik@mozilla.com>
Tue, 31 Jul 2018 00:55:08 +0000 (19:55 -0500)
committerYury Delendik <ydelendik@mozilla.com>
Tue, 31 Jul 2018 00:58:26 +0000 (19:58 -0500)
src/librustc_codegen_llvm/back/linker.rs

index 5f2f3733ec7f0df434ed9f2e01ea3e5912ea0528..7253b5346b9ab79a1cdbb13a1ae438221010dc6e 100644 (file)
@@ -1006,6 +1006,18 @@ fn optimize(&mut self) {
             OptLevel::Size => "-O2",
             OptLevel::SizeMin => "-O2"
         });
+        match self.sess.opts.optimize {
+            OptLevel::No => (),
+            OptLevel::Less |
+            OptLevel::Default |
+            OptLevel::Aggressive |
+            OptLevel::Size |
+            OptLevel::SizeMin => {
+                // LLD generates incorrect debugging information when
+                // optimization is applied: strip debug sections.
+                self.cmd.arg("--strip-debug");
+            }
+        }
     }
 
     fn pgo_gen(&mut self) {