| Age | Commit message (Collapse) | Author | Lines |
|
This reverts commit bf7f1ca316a249cf99d722d79a0db12fef687142.
|
|
|
|
fix sysroot issue which appears for ci downloaded rustc
Currently when compiler is downloaded rather than compiled, sysroot is being `ci-rustc-sysroot` because of https://github.com/rust-lang/rust/blob/7eef946fc0e0eff40e588eab77b09b287accbec3/src/bootstrap/compile.rs#L1125-L1131 this.
And rustdoc is overriding the downloaded one at the end of the process.
With the condition I add, we simply check if the current compiler stage is target build stage, if so use the proper sysroot instead of `ci-rustc-sysroot`.
Resolves #103206
|
|
Partial support for running UI tests with `download-rustc`
Right now trying to run UI tests with `download-rustc` results in a bunch of test failures, requiring someone who wants to only work on tests to also build the full compiler. This PR **partially** addresses the problem by solving a lot of the errors (but not all).
* This installs the `rust-src` component on CI toolchains, since the test output depends on whether the standard library source code is installed; We can't just symlink the current source because the `rustc-dev` component already includes the compiler sources, but not the library sources, and mixing things is worse IMO.
* This ensures the `$SRC_DIR` normalization done by compiletest correctly handles the source code added above.
* This unconditionally sets `remap-prefix` to the prefix used in the downloaded toolchain, to ensure compiletest normalizes it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #103709 (ci: Upgrade dist-x86_64-netbsd to NetBSD 9.0)
- #103744 (Upgrade cc for working is_flag_supported on cross-compiles)
- #104105 (llvm: dwo only emitted when object code emitted)
- #104158 (Return .efi extension for EFI executable)
- #104181 (Add a few known-bug tests)
- #104266 (Regression test for coercion of mut-ref to dyn-star)
- #104300 (Document `Path::parent` behavior around relative paths)
- #104304 (Enable profiler in dist-s390x-linux)
- #104362 (Add `delay_span_bug` to `AttrWrapper::take_for_recovery`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
This also adds a new `mod download` instead of scattering the download code
across `config.rs` and `native.rs`.
|
|
Return .efi extension for EFI executable
Originally part of https://github.com/rust-lang/rust/pull/100316
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
|
|
Change the way libunwind is linked for *-windows-gnullvm targets
I have no idea why previous way works for `x86_64-fortanix-unknown-sgx` (assuming it actually works...) but not for `gnullvm`. It fails when linking libtest during Rust build (unless somebody adds `RUSTFLAGS='-Clinkarg=-lunwind'`).
Also fixes exception handling on AArch64.
|
|
Signed-off-by: ozkanonur <work@onurozkan.dev>
|
|
Signed-off-by: ozkanonur <work@onurozkan.dev>
|
|
This makes it a lot easier to understand what commands will be run without
having to parse the `-vv` output, which isn't meant to be user facing.
|
|
|
|
Reduce default configuration's dependency upon static libstdcpp library (#103606)
Fixes #103606
Remove default dependency on static libstdcpp except during dist llvm builds (where we want static libraries so `libLLVM.so` is self-contained).
|
|
Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.
|
|
bootstrap: add support for running Miri on a file
This enables:
```
./x.py run src/tools/miri --stage 0 --args src/tools/miri/tests/pass/hello.rs
```
That can be super helpful for debugging.
Also avoid sharing the Miri sysroot dir with a system-wide (rustup-managed) installation of Miri.
Fixes https://github.com/rust-lang/rust/issues/76666
|
|
Update several crates for improved support of the new targets
This helps with `*-windows-gnullvm` targets by reducing amount of patching.
|
|
Place config.toml in current working directory if config not found
Fixes an issue where bootsrapping a Rust build would place `config.toml` in `{src_root}` rather than the current working directory
#103697
|
|
Originally part of https://github.com/rust-lang/rust/pull/100316
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
|
|
|
|
fix and (re-)enable Miri cross-target checks on macOS and Windows
Fixes https://github.com/rust-lang/rust/issues/103519
r? `@Mark-Simulacrum`
|
|
|
|
|
|
|
|
Fix json flag in bootstrap doc
Fix the `--json` flag not working with x.py (Closes #103816)
While this works I'm not sure about the `should_run` of `JsonStd`, had to change it because https://github.com/rust-lang/rust/blob/ab5a2bc7316012ee9b2a4a4f3821673f2677f3d5/src/bootstrap/builder.rs#L334 would match with JsonStd and remove the paths that Std matched. So I did [this](https://github.com/viandoxdev/rust/blob/ffd4078264c4892b5098d6191e0adfe3564d62ca/src/bootstrap/doc.rs#L526-L534) but that looks more like a hack/workaround than anything. I'm guessing there's something to do with the default condition thing but idk how it works
|
|
|
|
|
|
Move browser opening logic in `Builder`
This allows `open()` to be called from other places in bootstrap (I need this for Ferrocene, as we keep our custom steps in `src/bootstrap/ferrocene`), and it simplifies the callers by moving the `was_invoked_explicitly` check into the function.
|
|
This helps with `*-windows-gnullvm` targets
|
|
Fix artifact version/channel detection for stable
On stable, our artifacts are uploaded with the raw version number (e.g., 1.65.0), not the channel. This adjusts our detection logic to use the version number from src/version when we detect the stable channel.
This is really only important for stable channel re-builds, I think, but those do happen from time to time. I'm backporting a similar commit in https://github.com/rust-lang/rust/pull/103859 to make that PR pass CI.
|
|
|
|
On stable, our artifacts are uploaded with the raw version number (e.g.,
1.65.0), not the channel. This adjusts our detection logic to use the
version number from src/version when we detect the stable channel.
|
|
This allows open() to be called from other places in bootstrap (I need
this for Ferrocene), and it simplifies the callers by moving the
"was_invoked_explicitly" check into the function.
|
|
|
|
|
|
|
|
Detect unused files in `src/test/mir-opt` and error on them in tidy.
Closes #97564 .
Determining which files are generated by a given mir opt test is somewhat difficult. Because of this, we extract the logic for doing it out into a common crate that both compiletest and tidy can depend on. This avoids making compiletest a dependency of tidy which would negatively impact compile times for tidy.
Testing for this is that it catches 5 files that violated this lint (and removes them).
|
|
|
|
|
|
|
|
|
|
Enable RUSTC_BOOTSTRAP for a few steps
This forward-ports this commit so we don't need to keep applying it when branching beta (as done in 1.64, 1.65, and 1.66 beta bumps).
|
|
Enable `x.py check` for miri
Now that the miri subtree is working properly, let's add it to x.py check.
cc `@rust-lang/miri`
|