Commit Graph

8407 Commits

Author SHA1 Message Date
Stuart Cook a508c476ac Rollup merge of #153437 - RalfJung:miri-libtest-unstable, r=cuviper
coretest in miri: fix using unstable libtest features

Alternative (IMO preferable) to https://github.com/rust-lang/rust/pull/153369. Also reverts that PR.
2026-03-08 14:01:35 +11:00
Josh Stone 7e04ef8df5 Clear STAGE0_MISSING_TARGETS 2026-03-07 10:42:02 -08:00
Daniel Scherzer a62c6717ff bootstrap.py: fix typo "parallle" 2026-03-05 23:39:05 -08:00
Ralf Jung 6b7dbff235 coretest in miri: fix using unstable libtest features 2026-03-05 22:15:24 +01:00
Alistair Francis e26974ca33 bootstrap: minimal fix for ./x install src with build.docs = false
When running the `install src` command I'm seeing failures as the
`builder.doc_out(host)` directory does not exist. This is because
`match_paths_to_steps_and_run()` doesn't actually build any
documentation as the `paths.is_empty()` causes an early return. This
results in install failures as the `*/doc` src directory doesn't exist.

This patch ensures that the builder.doc_out(host) directory exists.

This fixes installing the Rust source when `build.docs = false`.

This fixes installing the Rust source code in OpenEmbedded.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Jieyou Xu <jieyouxu@outlook.com>
2026-03-05 13:55:59 +10:00
Matthias Krüger 1b674490eb Rollup merge of #152949 - Shunpoco:tidy-ci, r=Kobzol
Introduce --ci flag in tidy

## Context
Currently tidy doesn't have `--ci` flag. Even if bootstrap has --ci=true, it isn't passed to tidy. As a result, some parts of tidy where we need to turn on `ci mode` are never executed on our local.

## Change
This PR introduces --ci flag in tidy, and modify CiInfo and other parts of tidy where currently use `CiEnv::is_ci()` for checking if the running environment is ci or not.
2026-03-01 09:39:57 +01:00
Shunpoco af299893fd Introduce --ci flag in tidy
* add --ci flag in tidy

This commit introduces --ci flag in tidy because currently bootstrap can't pass its ci env information to tidy. It also modifies how CiInfo initialize its ci_env variable. tidy codes which uses CiEnv::is_ci for checking ci are now using ci_env in CiInfo.
* address review
- Fix comment
- Use Option for ci flag in order to have true/false explicitly or unspecified (implicit false)
* integrate CiInfo into TidyCtx
* remove CiInfo
* CiEnv::current() should be called when ci flag is not added
* extract base_commit() to a separate function
* use &TidyCtx instead of clone
2026-02-28 21:37:32 +00:00
bors 846cb1e850 Auto merge of #152838 - Kobzol:cargo-miri-cargo-in-tree-, r=jieyouxu
Use in-tree Cargo when testing stage 2+ cargo miri



Closes: https://github.com/rust-lang/rust/issues/152772

r? @jieyouxu
2026-02-28 05:04:20 +00:00
Jieyou Xu ec7c117cda bootstrap: force a CI LLVM stamp bump
To see if this helps with
<https://github.com/rust-lang/rust/issues/153127>.
2026-02-27 19:24:21 +08:00
Jynn Nelson f2f8743b4e Give a better error when updating a submodule fails
Previously this would sometimes just say "unexpected output ``", which
was extremely unhelpful. The actual issue was that I had a `.jj`
directory but not a `.git` directory, so it couldn't run `git submodule
update.`
2026-02-24 16:58:07 -05:00
Jonathan Brouwer 60941dbe63 Rollup merge of #153008 - DanielEScherzer:patch-2, r=Zalathar
bootstrap.compiler.toml: update name of primary branch

Those building from the latest commit are building from `main`, not `master`
2026-02-23 20:46:15 +01:00
Jonathan Brouwer 3e430a14d4 Rollup merge of #152976 - arferreira:revert-relative-extern-paths, r=jieyouxu
Revert relative paths for std links in rustc-docs

Reverts rust-lang/rust#152243.

The relative path `../` passed via `--extern-html-root-url` produces broken links in compiler documentation. The path is wrong in both the published layout (`doc.rust-lang.org/nightly/nightly-rustc/` vs `doc.rust-lang.org/nightly/core/`) and local builds (`compiler-doc/` vs `doc/`).

This restores absolute URLs via `#[doc(html_root_url)]`.

Fixes rust-lang/rust#152917
Re-opens rust-lang/rust#151496

cc @eggyal
2026-02-23 20:46:12 +01:00
Jonathan Brouwer e173d63004 Rollup merge of #152908 - bjorn3:dist_profile_remap_debuginfo, r=Kobzol
Enable rust.remap-debuginfo in the dist profile

Anyone who distributes rustc almost certainly wants to enable this option. It is necessary for reproducibility and for a distributed rustc local paths are useless anyway. And finally it improves privacy if you distribute a local build.
2026-02-23 20:46:11 +01:00
Jonathan Brouwer 1d21fd39ae Rollup merge of #152768 - ZuseZ4:autodiff-in-ci-for-all-os, r=Kobzol
Enable autodiff in ci for all major os

*[View all comments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/pull/152768)*

Follow-up attempt to https://github.com/rust-lang/rust/pull/140064 after moving autodiff to dlopen.
It covers Linux (x86_64+aarch64), MacOS (aarch64), Windows (mingw-llvm aarch64+x86_64)
The extra build time for Enzyme are 180.27s on our slowest runner (aarch64-apple).

The follow-up distribution via rustup probably still needs a small fix, see https://github.com/rust-lang/rust/pull/151063#issuecomment-3778937008

Placing the downloaded libEnzyme artifact on my local linux under `~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib` enables my nightly compiler to run autodiff.

r? @Kobzol

closes: https://github.com/rust-lang/rust/pull/140064
closes: https://github.com/rust-lang/rust/pull/151243
closes: https://github.com/rust-lang/rust/pull/151063
2026-02-23 20:46:10 +01:00
bjorn3 262744eb36 Enable rust.remap-debuginfo in the dist profile
Anyone who distributes rustc almost certainly wants to enable this
option. It is necessary for reproducibility and for a distributed rustc
local paths are useless anyway. And finally it improves privacy if you
distribute a local build.
2026-02-23 12:59:04 +00:00
Jakub Beránek d3f2eddb84 Ignore file length for bootstrap tests 2026-02-23 10:48:14 +01:00
Jakub Beránek 9eb6caa049 Use in-tree Cargo when testing stage 2+ cargo miri 2026-02-23 10:46:08 +01:00
Daniel Scherzer 4e24abb78c bootstrap.compiler.toml: update name of primary branch
Those building from the latest commit are building from `main`, not `master`
2026-02-22 23:20:08 -08:00
Jonathan Brouwer 4f2673f1a1 Rollup merge of #152921 - blkerby:bootstrap-rustdoc-config, r=Kobzol
Add build.rustdoc option to bootstrap config

This adds a bootstrap config option `build.rustdoc` to be able to override the stage0 `rustdoc` binary. When unspecified, this defaults to the existing behavior of using the `rustdoc` binary in the same directory as `rustc`, making this a backward-compatible change.

### Motivation

The existing behavior does not seem to be documented and can be surprising. By adding the new option, the behavior gets documented in `bootstrap.example.toml`.

I ran into this because I was experimenting with a build with a configuration like this:
```
build.rustc = "/usr/bin/rustc-1.92"
build.cargo = "/usr/bin/cargo-1.92"
```
This was on Ubuntu where the packages `rustc-1.92` and `cargo-1.92` place symlinks at these locations. This resulted in failure as the bootstrap process tried to run doc tests on `tidy` using a binary `/usr/bin/rustdoc` which did not exist. It took some digging to understand where that path `/usr/bin/rustdoc` was coming from.

@rustbot label +A-bootstrap-config
2026-02-22 20:14:24 +01:00
Jonathan Brouwer ae8fa15f74 Rollup merge of #152708 - PaulDance:patches/nix-stdenv.cc.cc.lib, r=clubby789
Build: Add `stdenv.cc.cc.lib` to Nix dependencies

Otherwise, it systematically fails on:

```
error: process didn't exit successfully: `[...]/rust/build/bootstrap/debug/rustc [...]/rust/build/bootstrap/debug/rustc -vV` (exit status: 127)
--- stderr
[...]/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
```

for us at least. Closes rust-lang/rust#127620.

@rustbot label T-bootstrap A-reproducibility
2026-02-22 20:14:23 +01:00
arferreira d5311adf87 Revert relative paths for std links in rustc-docs 2026-02-22 11:13:54 -05:00
Manuel Drehwald 7daabfd04d adjust libdir for windows, use lld during enzyme build when needed 2026-02-20 16:10:07 -05:00
Brent Kerby 7df748542c Add build.rustdoc option to bootstrap config 2026-02-20 10:11:07 -07:00
Jonathan Brouwer 29871ea667 Rollup merge of #152840 - jieyouxu:bootstrap-install-src-no-docs, r=clubby789
Add bootstrap snapshot tests for {`install`, `install src`}

And `install src` with `build.docs = false`.

This is mostly to get coverage for the baseline to make it easier to review rust-lang/rust#150845.
2026-02-20 13:24:57 +01:00
Jonathan Brouwer 12c80d252d Rollup merge of #152057 - haampie:hs/fix/bootstrap-respect-jobserver-protocol, r=clubby789
bootstrap: respect POSIX jobserver

When bootstrapping Rust, the `-j N` flag was passed to CMake, which was
then forwarded to Ninja. This prevents the jobserver from being used,
and as a result leads to oversubscription when Rust is just one of the
many packages built as part of a larger software stack.

Since Cargo and the Rust compiler have long supported the jobserver, it
would be good if also bootstrapping Rust itself would participate in the
protocol, leading to composable parallelism.

This change allows bootstrapping to respect an existing FIFO based
jobserver. Old pipe based jobservers are not supported, because they are
brittle: currently the Python scripts in bootstrap do not inherit the
file descriptors, but do pass on `MAKEFLAGS`, which has lead to errors
like "invalid file descriptor" in the past. Because Ninja only supports
FIFO based jobservers, it's better to focus on new jobservers only,
which shouldn't suffer from the "invalid file descriptor" issue.

In summary:

* Bootstrap Cargo passes `MAKEFLAGS` verbatim to subprocesses if it
  advertises a FIFO style jobserver, otherwise it unsets it. This ensures
  subprocesses respect the jobserver during bootstrap.
* `llvm.rs` does not pass `-j` to `cmake` when a FIFO style jobserver is
  set in `MAKEFLAGS`. This ensures Ninja respects the jobserver.
* Bootstrap Cargo no longer unsets `MKFLAGS`: from git blame, GNU Make
  considered it a historical artifact back in 1992, and it is never read
  by GNU Make, it's only set for backwards compatibility in case sub-Makefiles
  read it.

---

I've tested this with the [Spack package manager](https://github.com/spack/spack) starting the POSIX jobserver,
building node.js and rust in parallel with `-j16`, which looks like this:

```console
$ pstree 382710
python3─┬─python3
        └─python3─┬─python3─┬─make───make───6*[ccache───g++───cc1plus]
                  │         └─{python3}
                  └─python3─┬─python3.11───bootstrap───cmake───ninja-build───10*[sh───ccache───g++───cc1plus]
                            └─{python3}
```

As you can see there are 10 `g++` processes running for rust, and `6` for node.js, and
with a mix of `make` and `ninja` as build tools :).

(The only violation I see now is `rust-lld`, but I think that'll be fixed with the LLVM 23
release)
2026-02-20 13:24:56 +01:00
Paul Mabileau 751b7d5bda Build: Add stdenv.cc.cc.lib to Nix dependencies
Otherwise, it systematically fails on:

```
error: process didn't exit successfully: `[...]/rust/build/bootstrap/debug/rustc [...]/rust/build/bootstrap/debug/rustc -vV` (exit status: 127)
--- stderr
[...]/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
```

for us at least.

Signed-off-by: Paul Mabileau <paul.mabileau@harfanglab.fr>
2026-02-19 17:32:22 +01:00
Jieyou Xu a9e6a89b06 bootstrap: add snapshot tests for {install, install src}
And `install src` with `build.docs = false`.
2026-02-19 18:34:04 +08:00
Jonathan Brouwer 6bfd154f57 Rollup merge of #152734 - Shunpoco:cleanup-bootstrap-ci, r=Kobzol
Respect the `--ci` flag in more places in bootstrap

### Motivation
Currently, the way of checking CI environment in bootstrap is not unified. Sometimes `--ci` flag is respected, but in other cases only GITHUB_ACTIONS env var is checked.

### Change
This PR modifies the way of treating the flag in bootstrap. If `--ci` (or `--ci=true`) is added, bootstrap's config set ci_env as `CiEnv::GithubActions`. This PR also modifies some lines in bootstrap to respect the config's CiEnv instance.

### Note
I haven't touched anything in tidy, because I want to raise another PR for introducing --ci flag in tidy. In the PR, I will need to change how tidy treats CI information. So currently I leave it as it is.
2026-02-18 22:19:47 +01:00
Shunpoco d5574c578a modify around --ci flag in bootstrap
--ci flag in bootstrap is not respected in some cases. This commit modifies such inconsistencies in the tool.
2026-02-18 13:19:38 +00:00
bors 8387095803 Auto merge of #152677 - ehuss:bootstrap-json-target-spec, r=davidtwco,jieyouxu
Support JSON target specs in bootstrap

JSON target specs were destabilized in https://github.com/rust-lang/rust/pull/150151 and https://github.com/rust-lang/rust/pull/151534. However, this broke trying to build rustc itself with a JSON target spec. This is because in a few places bootstrap is manually calling `rustc` without the ability for the user to provide additional flags (primarily, `-Zunstable-options` to enable JSON targets).

There's a few different ways to fix this. One would be to change these calls to `rustc` to include flags provided by the user (such as `RUSTFLAGS_NOT_BOOTSTRAP`). Just to keep things simple, this PR proposes to just unconditionally pass `-Zunstable-options`.

Another consideration here is how maintainable this is. A possible improvement here would be to have a function somewhere (BootstrapCommand, TargetSelection, free function) that would handle appropriately adding the `--target` flag. For example, that's what cargo does in [`CompileKind::add_target_arg`](https://github.com/rust-lang/cargo/blob/592058c7ce08a2ba2628b01e7dc4ce1e72b6bdff/src/cargo/core/compiler/compile_kind.rs#L144-L154).

I have only tested building the compiler and a few tools like rustdoc. I have not tested doing things like building other tools, running tests, etc.

This would be much easier if there was a Docker image for testing the use case of building rustc with a custom target spec (and even better if that ran in CI).

After the next beta branch, using target JSON specs will become more cumbersome because target specs with the `.json` extension will now require passing `-Zjson-target-spec` (from
https://github.com/rust-lang/cargo/pull/16557). This does not affect target specs without the `.json` extension (such as those from RUST_TARGET_PATH). From my testing, it should be sufficient to pass `CARGOFLAGS_NOT_BOOTSTRAP="-Zjson-target-spec"`. I think that should be fine, since this is not a particularly common use case AFAIK. We could extend bootstrap to auto-detect if the target is a file path, and pass `-Zjson-target-spec` appropriately. I tried something similar in https://github.com/ehuss/rust/commit/f0bdd354835a0993febaf1de214cda2abd9a8500, which could be adapted if desired.

It would be nice if all of this is documented somewhere. https://rustc-dev-guide.rust-lang.org/building/new-target.html does not really say how to build the compiler with a custom json target.

Fixes https://github.com/rust-lang/rust/issues/151729
2026-02-17 17:35:50 +00:00
Jana Dönszelmann 8d26ccc09f Rollup merge of #152748 - GuillaumeGomez:update-sysinfo, r=GuillaumeGomez
Update `sysinfo` version to `0.38.2`

r? ghost
2026-02-17 14:18:46 +01:00
Jana Dönszelmann 485f76b835 Rollup merge of #152609 - mati865:gnullvm-llvm-dll, r=bjorn3
Install LLVM DLL in the right place on Windows

Continuation of https://github.com/rust-lang/rust/pull/151795 towards https://github.com/rust-lang/rust/issues/151774.

Unlike other systems, Windows requires runtime libraries to be present in `PATH` or right next to the binary.
So, we copy the library next to the binary as the easier solution.

Tested building `rust-openssl` in debug and release modes, but the difference is within noise margin.
2026-02-17 14:18:43 +01:00
Guillaume Gomez 0c8d2b40e3 Update sysinfo version to 0.38.2 2026-02-17 10:57:34 +01:00
Stuart Cook e28a33ad72 Rollup merge of #152703 - nnethercote:rm-rustc_query_system, r=Zalathar
Remove `rustc_query_system`

The end point of the PR sequence rust-lang/rust#152160, rust-lang/rust#152419, rust-lang/rust#152516.

r? @Zalathar
2026-02-17 13:02:23 +11:00
Eric Huss b4e645fe5a Support JSON target specs in bootstrap
JSON target specs were destabilized in
https://github.com/rust-lang/rust/pull/150151 and
https://github.com/rust-lang/rust/pull/151534. However, this broke
trying to build rustc itself with a JSON target spec. This is because in
a few places bootstrap is manually calling `rustc` without the ability
for the user to provide additional flags (primarily,
`-Zunstable-options` to enable JSON targets).

There's a few different ways to fix this. One would be to change these
calls to `rustc` to include flags provided by the user (such as
`RUSTFLAGS_NOT_BOOTSTRAP`). Just to keep things simple, this PR proposes
to just unconditionally pass `-Zunstable-options`.

Another consideration here is how maintainable this is. A possible
improvement here would be to have a function somewhere
(BootstrapCommand, TargetSelection, free function) that would handle
appropriately adding the `--target` flag. For example, that's what cargo
does in
[`CompileKind::add_target_arg`](https://github.com/rust-lang/cargo/blob/592058c7ce08a2ba2628b01e7dc4ce1e72b6bdff/src/cargo/core/compiler/compile_kind.rs#L144-L154).

I have only tested building the compiler and a few tools like rustdoc. I
have not tested doing things like building other tools, running tests,
etc.

This would be much easier if there was a Docker image for testing the
use case of building rustc with a custom target spec (and even better if
that ran in CI).

After the next beta branch, using target JSON specs will become more
cumbersome because target specs with the `.json` extension will now
require passing `-Zjson-target-spec` (from
https://github.com/rust-lang/cargo/pull/16557). This does not affect
target specs without the `.json` extension (such as those from
RUST_TARGET_PATH). From my testing, it should be sufficient to pass
`CARGOFLAGS_NOT_BOOTSTRAP="-Zjson-target-spec"`. I think that should be
fine, since this is not a particularly common use case AFAIK. We could
extend bootstrap to auto-detect if the target is a file path, and pass
`-Zjson-target-spec` appropriately. I tried something similar in
https://github.com/ehuss/rust/commit/f0bdd354835a0993febaf1de214cda2abd9a8500,
which could be adapted if desired.

It would be nice if all of this is documented somewhere.
https://rustc-dev-guide.rust-lang.org/building/new-target.html does not
really say how to build the compiler with a custom json target.

Fixes https://github.com/rust-lang/rust/issues/151729
2026-02-16 08:31:00 -08:00
Nicholas Nethercote e9288e7e90 Remove last remnants of rustc_query_system.
At this point module `ich` is the only thing left.
2026-02-16 22:56:47 +11:00
Zalathar f1664acfbf Inline the is_tool check for setting -Zforce-unstable-if-unmarked 2026-02-16 12:35:00 +11:00
Mateusz Mikuła b022e16e2a Install LLVM DLL in the right place on Windows
Unlike other systems, Windows requires runtime libraries to be present
in `PATH` or right next to the binary.

So, we copy the library next to the binary as the easier solution.
2026-02-15 13:13:27 +01:00
Jonathan Brouwer 9ca0ebbd53 Rollup merge of #152536 - ozankenangungor:bootstrap-explicit-open-encoding, r=jieyouxu
bootstrap: add explicit UTF-8 encoding to text-mode open() calls

Make text-mode `open()` calls in `bootstrap.py`
explicitly use `encoding="utf-8"`.

This avoids relying on platform-dependent default encodings
when running Python < 3.15.

Binary-mode opens remain unchanged.
2026-02-13 13:35:02 +01:00
Jonathan Brouwer fd598ebac8 Rollup merge of #152440 - him2him2:fix-typos-compiler, r=Kivooeo,Kobzol
Fix typos and grammar in compiler and build documentation

Fix contextual typos and grammar issues in compiler and build docs that automated spellcheckers miss:

- `compiler/rustc_codegen_llvm/src/debuginfo/doc.md`: fix 5 issues (adaption → adaptation, "allow to" → "allow V-ing" x3, later → latter + plural)
- `compiler/rustc_thread_pool/src/sleep/README.md`: fix 2 issues (idle → active per context, then → than)
- `src/bootstrap/README.md`: fix 2 issues (rust → Rust, add missing article "the")
- `src/ci/docker/README.md`: fix 2 issues ("come form" → "come from", grammar)

No functional changes.
2026-02-13 13:35:02 +01:00
Ozan Kenan Güngör 9448bdf798 bootstrap: add explicit UTF-8 encoding to text-mode open() calls 2026-02-12 16:59:44 +03:00
bors bb8b30a5fc Auto merge of #148537 - oli-obk:push-yxuttqrqqyvu, r=dianqk
Start using pattern types in libcore (NonZero and friends)

part of rust-lang/rust#136006 

This PR only changes the internal representation of `NonZero`, `NonMax`, ... and other integral range types in libcore. This subsequently affects other types made up of it, but nothing really changes except that the field of `NonZero` is now accessible safely in contrast to the `rustc_layout_scalar_range_start` attribute, which has all kinds of obscure rules on how to properly access its field.
2026-02-12 13:23:22 +00:00
lanbinshen f48448e903 fix issue#152482 2026-02-11 20:48:15 +08:00
ron 11e4873b96 Fix typos and grammar in compiler and build documentation
- compiler/rustc_codegen_llvm/src/debuginfo/doc.md: fix 5 issues
  (adaption → adaptation, "allow to" → "allow V-ing" x3, later → latter + plural)
- compiler/rustc_thread_pool/src/sleep/README.md: fix 2 issues
  (idle → active per context, then → than)
- src/bootstrap/README.md: fix 2 issues (rust → Rust, add missing article "the")
- src/ci/docker/README.md: fix 2 issues ("come form" → "come from", grammar)
2026-02-10 10:22:05 -05:00
Oli Scherer 85e8282fab Start using pattern types in libcore 2026-02-10 11:19:24 +00:00
Jonathan Brouwer 1f59a4a86b Rollup merge of #151154 - fneddy:s390x_softfloat_abi, r=workingjubilee
Add `s390x-unknown-none-softfloat` with `RustcAbi::Softfloat`

followup on rust-lang/rust#150766

add an `s390x-unknown-none-softfloat` target to use for kernel compilation, as the Linux kernel does not wish to pay the overhead of saving float registers by default on kernel switch. this target's `extern "C"` ABI is unspecified, so it is unstable and subject to change between versions, just like the Linux intrakernel ABI and `extern "Rust"` ABIs are unstable.

enforce target feature incompatibility by adding `RustcAbi::Softfloat`. this is itself just a rename of `RustcAbi::X86Softfloat`, accepting both "x86-softfloat" and "softfloat" as valid strings in the target.json format. the target-features of `"soft-float"` and `"vector"` are incompatible for s390x, so issue a compatibility warning if they are combined.
2026-02-09 23:37:48 +01:00
Eddy (Eduard) Stefes 2b1dc3144b add a new s390x-unknown-none-softfloat target
This target is intended to be used for kernel development. Becasue on s390x
float and vector registers overlap we have to disable the vector extension.

The default s390x-unknown-gnu-linux target will not allow use of
softfloat.

Co-authored-by: Jubilee <workingjubilee@gmail.com>
2026-02-09 09:28:54 +01:00
Jonathan Brouwer 120b188466 Rollup merge of #152077 - cuviper:bootstrap-host-linker, r=Mark-Simulacrum
bootstrap: always propagate `CARGO_TARGET_{host}_LINKER`

We were already setting `CARGO_TARGET_{target}_LINKER` when there is a
setting in `bootstrap.toml`, and when the host and target are the same,
this is also used for build scripts and proc-macros.

However, the host value wasn't set when building for any other target,
and Cargo would see that as a fingerprint change for those build
artifacts, rebuilding them.

If we always set the `CARGO_TARGET_{host}_LINKER`, then those build
scripts will keep a consistent Cargo fingerprint, so they'll remain
cached no matter how we're alternating targets.
2026-02-08 21:06:29 +01:00
Jonathan Brouwer e96bcca366 Rollup merge of #152217 - JonathanBrouwer:convert_line, r=jdonszelmann
Convert to inline diagnostics in `rustc_lint`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
This was a big one! Second to last one, `rustc_parse` is the last one and even bigger :P
2026-02-07 19:34:49 +01:00
Jonathan Brouwer 0471141209 Rollup merge of #151745 - bjorn3:remove_unnecessary_flags, r=clubby789
Remove a couple of unnecessary flags and env vars in bootstrap
2026-02-07 19:34:48 +01:00