Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #127216

Merged
merged 24 commits into from
Jul 1, 2024
Merged
Changes from 3 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bb00657
Stabilize `PanicInfo::message()` and `PanicMessage`
StackOverflowExcept1on Jun 20, 2024
1031d4d
Add nightly style guide section for precise_capturing
compiler-errors Jun 20, 2024
614e042
Migrate `volatile-intrinsics` to `rmake`
Rejyr Jun 23, 2024
56fe015
Migrate `weird-output-filenames` to `rmake`
Rejyr Jun 23, 2024
189232b
Migrate `wasm-override-linker` to `rmake`
Rejyr Jun 23, 2024
68b6bb2
Migrate `wasm-exceptions-nostd` to `rmake`
Rejyr Jun 23, 2024
0c1df37
Refactor `wasm-abi` to use `cmd`
Rejyr Jun 23, 2024
2ef2699
Refactor `compressed-debuginfo` to use `llvm_readobj`
Rejyr Jun 23, 2024
7f383d0
Stabilize `duration_abs_diff`
elomatreb Jun 29, 2024
583b5fc
Use full expr span for return suggestion on type error/ambiguity
compiler-errors Jun 29, 2024
b5b97dc
Improve `run-make-support` API for `assert*` functions
GuillaumeGomez Jul 1, 2024
fcfac05
Improve `target` method API in `run-make-support`
GuillaumeGomez Jul 1, 2024
fe6f3fa
improve the way bootstrap handles rustlib components
onur-ozkan Jun 30, 2024
97415ce
fail on component linking errors
onur-ozkan Jul 1, 2024
af31c33
linker: Refactor interface for passing arguments to linker
petrochenkov Jan 27, 2024
5f9a0d3
linker: Bail out of rpath logic early if the target doesn't support r…
petrochenkov Jul 1, 2024
61db24d
Rollup merge of #126732 - StackOverflowExcept1on:master, r=m-ou-se
GuillaumeGomez Jul 1, 2024
c4baa3f
Rollup merge of #126753 - compiler-errors:use-style-guide, r=joshtrip…
GuillaumeGomez Jul 1, 2024
6b2e644
Rollup merge of #126832 - petrochenkov:linkarg, r=jieyouxu
GuillaumeGomez Jul 1, 2024
61e7f05
Rollup merge of #126880 - Rejyr:migrate-rmake-vw, r=Kobzol
GuillaumeGomez Jul 1, 2024
f5810c4
Rollup merge of #127128 - elomatreb:elomatreb/stabilize-duration_abs_…
GuillaumeGomez Jul 1, 2024
61fe6b6
Rollup merge of #127129 - compiler-errors:full-expr-span, r=jieyouxu
GuillaumeGomez Jul 1, 2024
cb81d0d
Rollup merge of #127188 - onur-ozkan:rustc-src-fix, r=Kobzol
GuillaumeGomez Jul 1, 2024
a509b5a
Rollup merge of #127201 - GuillaumeGomez:improve-run-make-support, r=…
GuillaumeGomez Jul 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 31 additions & 28 deletions src/bootstrap/src/core/build_steps/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,10 @@ impl Step for Std {
// This check is specific to testing std itself; see `test::Std` for more details.
&& !self.force_recompile
{
let sysroot = builder.ensure(Sysroot { compiler, force_recompile: false });
cp_rustc_component_to_ci_sysroot(
builder,
compiler,
&sysroot,
builder.config.ci_rust_std_contents(),
);
return;
Expand Down Expand Up @@ -797,12 +798,7 @@ impl Step for StartupObjects {
}
}

fn cp_rustc_component_to_ci_sysroot(
builder: &Builder<'_>,
compiler: Compiler,
contents: Vec<String>,
) {
let sysroot = builder.ensure(Sysroot { compiler, force_recompile: false });
fn cp_rustc_component_to_ci_sysroot(builder: &Builder<'_>, sysroot: &Path, contents: Vec<String>) {
let ci_rustc_dir = builder.config.ci_rustc_dir();

for file in contents {
Expand Down Expand Up @@ -881,13 +877,7 @@ impl Step for Rustc {
// NOTE: the ABI of the beta compiler is different from the ABI of the downloaded compiler,
// so its artifacts can't be reused.
if builder.download_rustc() && compiler.stage != 0 {
// Copy the existing artifacts instead of rebuilding them.
// NOTE: this path is only taken for tools linking to rustc-dev (including ui-fulldeps tests).
cp_rustc_component_to_ci_sysroot(
builder,
compiler,
builder.config.ci_rustc_dev_contents(),
);
builder.ensure(Sysroot { compiler, force_recompile: false });
return compiler.stage;
}

Expand Down Expand Up @@ -1634,31 +1624,44 @@ impl Step for Sysroot {
let sysroot_lib_rustlib_src_rust = sysroot_lib_rustlib_src.join("rust");
if let Err(e) = symlink_dir(&builder.config, &builder.src, &sysroot_lib_rustlib_src_rust) {
eprintln!(
"WARNING: creating symbolic link `{}` to `{}` failed with {}",
"ERROR: creating symbolic link `{}` to `{}` failed with {}",
sysroot_lib_rustlib_src_rust.display(),
builder.src.display(),
e,
);
if builder.config.rust_remap_debuginfo {
eprintln!(
"WARNING: some `tests/ui` tests will fail when lacking `{}`",
"ERROR: some `tests/ui` tests will fail when lacking `{}`",
sysroot_lib_rustlib_src_rust.display(),
);
}
build_helper::exit!(1);
}
// Same for the rustc-src component.
let sysroot_lib_rustlib_rustcsrc = sysroot.join("lib/rustlib/rustc-src");
t!(fs::create_dir_all(&sysroot_lib_rustlib_rustcsrc));
let sysroot_lib_rustlib_rustcsrc_rust = sysroot_lib_rustlib_rustcsrc.join("rust");
if let Err(e) =
symlink_dir(&builder.config, &builder.src, &sysroot_lib_rustlib_rustcsrc_rust)
{
eprintln!(
"WARNING: creating symbolic link `{}` to `{}` failed with {}",
sysroot_lib_rustlib_rustcsrc_rust.display(),
builder.src.display(),
e,

// Unlike rust-src component, we have to handle rustc-src a bit differently.
// When using CI rustc, we copy rustc-src component from its sysroot,
// otherwise we handle it in a similar way what we do for rust-src above.
if builder.download_rustc() {
cp_rustc_component_to_ci_sysroot(
builder,
&sysroot,
builder.config.ci_rustc_dev_contents(),
);
} else {
let sysroot_lib_rustlib_rustcsrc = sysroot.join("lib/rustlib/rustc-src");
t!(fs::create_dir_all(&sysroot_lib_rustlib_rustcsrc));
let sysroot_lib_rustlib_rustcsrc_rust = sysroot_lib_rustlib_rustcsrc.join("rust");
if let Err(e) =
symlink_dir(&builder.config, &builder.src, &sysroot_lib_rustlib_rustcsrc_rust)
{
eprintln!(
"ERROR: creating symbolic link `{}` to `{}` failed with {}",
sysroot_lib_rustlib_rustcsrc_rust.display(),
builder.src.display(),
e,
);
build_helper::exit!(1);
}
}

sysroot
Expand Down