Replaces an older patch by Samuel Holland. The RUSTC_NO_PREFER_DYNAMIC env var was removed and replaced with the following logic in builder.rs. The idea for this patch is to link stage2 tools dynamically as these will be distributed (if built). Intermediate tools from previous stages will be statically linked for convenience. @q66 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -1228,6 +1228,8 @@ impl<'a> Builder<'a> { // linking all deps statically into the dylib. if let Mode::Std | Mode::Rustc | Mode::Codegen = mode { rustflags.arg("-Cprefer-dynamic"); + } else if stage >= 2 { + rustflags.arg("-Cprefer-dynamic"); } Cargo {