From 34e658ebd887a2d8bd626593d65b6a03fe84f52a Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Fri, 20 Apr 2018 15:46:47 +0200 Subject: [PATCH] Don't run LTO passes in rustc when cross-lang LTO is enabled. --- src/librustc_trans/back/write.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/librustc_trans/back/write.rs b/src/librustc_trans/back/write.rs index 0d4e8018dc2d..b6fae3eaff23 100644 --- a/src/librustc_trans/back/write.rs +++ b/src/librustc_trans/back/write.rs @@ -1356,6 +1356,10 @@ fn execute_work_item(cgcx: &CodegenContext, // settings. let needs_lto = needs_lto && mtrans.kind != ModuleKind::Metadata; + // Don't run LTO passes when cross-lang LTO is enabled. The linker + // will do that for us in this case. + let needs_lto = needs_lto && !cgcx.opts.debugging_opts.cross_lang_lto; + if needs_lto { Ok(WorkItemResult::NeedsLTO(mtrans)) } else {