From 292cafe62401c9d4d8aa5e95238fb43129e2c9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Fri, 7 Jul 2023 11:49:45 +0200 Subject: [PATCH] Disable building `rustc` with (Thin)LTO on Windows --- src/bootstrap/compile.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 14c3ef79a78f2..59b87baa9df33 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -817,6 +817,13 @@ impl Step for Rustc { if compiler.stage != 0 { match builder.config.rust_lto { RustcLto::Thin | RustcLto::Fat => { + if target == "x86_64-pc-windows-msvc" { + panic!( + "(Thin)LTO is currently known to produce miscompilations on `x86_64-pc-windows-msvc`. \ +See https://github.com/rust-lang/rust/issues/109067." + ); + } + // Since using LTO for optimizing dylibs is currently experimental, // we need to pass -Zdylib-lto. cargo.rustflag("-Zdylib-lto");