Skip to content

Commit

Permalink
Auto merge of #114480 - ozkanonur:fix-stage0-compiler-llvm, r=Mark-Si…
Browse files Browse the repository at this point in the history
…mulacrum

copy the correct version of LLVM into the stage0 sysroot

In some cases(see #109314), when the stage0
compiler relies on more recent version of LLVM than the beta compiler, it may not
be able to locate the correct LLVM in the sysroot. This situation typically occurs
when we upgrade LLVM version while the beta compiler continues to use an older version.

Fixes #109314
  • Loading branch information
bors committed Aug 13, 2023
2 parents 644e806 + aec4b59 commit ebbd715
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1384,6 +1384,16 @@ impl Step for Sysroot {
let _ = fs::remove_dir_all(&sysroot);
t!(fs::create_dir_all(&sysroot));

// In some cases(see https://github.com/rust-lang/rust/issues/109314), when the stage0
// compiler relies on more recent version of LLVM than the beta compiler, it may not
// be able to locate the correct LLVM in the sysroot. This situation typically occurs
// when we upgrade LLVM version while the beta compiler continues to use an older version.
//
// Make sure to add the correct version of LLVM into the stage0 sysroot.
if compiler.stage == 0 {
dist::maybe_install_llvm_target(builder, compiler.host, &sysroot);
}

// If we're downloading a compiler from CI, we can use the same compiler for all stages other than 0.
if builder.download_rustc() && compiler.stage != 0 {
assert_eq!(
Expand Down

0 comments on commit ebbd715

Please sign in to comment.