| Age | Commit message (Collapse) | Author | Lines |
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
We recently had an issue because some rustlib files were missing (like: "error[E0463]: can't find crate for rustc_ast")
when building tools that rely on rustc. This patch fixes that by copying those files as required.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
Fix parsing of beta version in dry-run mode
This was blocking beta release.
r? `@BoxyUwU`
|
|
don't copy `.rustc-dev-contents` from CI rustc
Since https://github.com/rust-lang/rust/pull/127188, copying files from `.rustc-dev-contents` regressed https://github.com/rust-lang/rust/issues/108767 again. Since `rustc-src` is already included in the CI rustc sysroot, we don't need to copy these files to have `rustc-src` component.
Blocker for #122709
|
|
custom/external clippy support for bootstrapping
Similar to cargo, rustc, and rustfmt, this adds the support of using custom clippy on bootstrap. It’s designed for those who want to test their own clippy builds or avoid downloading the stage0 clippy.
Closes #121518
|
|
|
|
|
|
struct sizes
|
|
|
|
Additionally teach compiletest to ignore tests that rely on deterministic layout.
Tests themselves aren't built with randomization but they can still observe
slight changes in std or rustc
|
|
skip stage 0 target check if `BOOTSTRAP_SKIP_TARGET_SANITY` is set
When adding a new target to `rustc` and extending `STAGE0_MISSING_TARGETS`, there is a chance that in the merge CI bootstrap target sanity check might fail [here](https://github.com/rust-lang/rust/blob/26d27b7c8729fb61fe8321fcd2ce734a79aa695d/src/bootstrap/src/core/sanity.rs#L243-L256) because the stage 0 compiler will assume to already support the new target since `opt-dist` uses the previously compiled compiler as the stage 0 compiler.
This PR skips this check if `BOOTSTRAP_SKIP_TARGET_SANITY` is set, and makes `opt-dist` to set `BOOTSTRAP_SKIP_TARGET_SANITY` so bootstrap doesn't run this logic for opt-dist tests.
Fixes https://github.com/rust-lang/rust/pull/127021#issuecomment-2308782315.
Zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/.60STAGE0_MISSING_TARGETS.60.20seems.20to.20check.20stage1
Blocker for https://github.com/rust-lang/rust/pull/127021
|
|
|
|
Determining this path occasionally fails locally for unknown reasons, resulting
in the build failing with an unhelpful `StripPrefixError(())` panic message.
In order to track down why that's happening, include some relevant information
in the panic message when that failure occurs.
|
|
|
|
Fix path to run clippy on rustdoc
Took me a while to find out that the path clippy expected was `src/tools/rustdoc` and not `src/librustdoc`. I think it makes more sense this way as most commands rely on source paths.
r? ```@Kobzol```
|
|
|
|
|
|
|
|
fixes https://github.com/rust-lang/rust/issues/129528
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
More work on `zstd` compression
r? ``@Kobzol`` as we've discussed this.
This is a draft to show the current approach of supporting zstd in compiletest, and making the tests using it unconditional.
Knowing whether llvm/lld was built with `LLVM_ENABLE_ZSTD` is quite hard, so there are two strategies. There are details in the code, and we can discuss this approach. Until we know the config used to build CI artifacts, it seems our options are somewhat limited in any case.
zlib compression seems always enabled, so we only check this in its dedicated test, allowing the test to ignore errors due to zstd not being supported.
The zstd test is made unconditional in what it tests, by relying on `needs-llvm-zstd` to be ignored when `llvm.libzstd` isn't enabled in `config.toml`.
try-job: x86_64-gnu
try-job: x86_64-msvc
try-job: x86_64-gnu-distcheck
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Similar to cargo, rustc, and rustfmt, this adds the support of using custom clippy on bootstrap.
It’s designed for those who want to test their own clippy builds or avoid downloading the stage0 clippy.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
but warn about it
|
|
Rollup of 7 pull requests
Successful merges:
- #129091 (add Box::as_ptr and Box::as_mut_ptr methods)
- #129134 (bootstrap: improve error recovery flags to curl)
- #129416 (library: Move unstable API of new_uninit to new features)
- #129459 (handle stage0 `cargo` and `rustc` separately)
- #129487 (repr_transparent_external_private_fields: special-case some std types)
- #129511 (Update minifier to 0.3.1)
- #129523 (Make `rustc_type_ir` build on stable)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
also fixes a discrepency where the rust side doesn't use -L
must not be merged before #129134
docs are only on the rust side, since duplicated prose
has a tendancy to get out-of-sync, and also because there
are talks of removing the python script all together eventually.
|
|
handle stage0 `cargo` and `rustc` separately
This change allows setting either `build.cargo` or `build.rustc` without requiring both to be set simultaneously, which was not possible previously.
To try it, set `build.rustc` without setting `build.cargo`, and try to bootstrap on clean build.
Blocker for https://github.com/rust-lang/rust/pull/129152
|
|
bootstrap: improve error recovery flags to curl
alternative to #128459
fixes #110178
r? ````@Kobzol````
|
|
Build `library/profiler_builtins` from `ci-llvm` if appropriate
Running all of `tests/coverage` requires the LLVM profiler runtime, which requires setting `build.profiler = true`.
Historically, doing that has required checking out the entire `src/llvm-project` submodule. For compiler contributors who otherwise don't need that submodule (thanks to `download-ci-vm`), that's quite inconvenient.
However, thanks to #129116, the downloaded CI LLVM tarball now contains a copy of LLVM's `compiler-rt` directory, which includes all the files needed to build the profiler runtime. So with a little bit of extra logic in bootstrap, we can have `library/profiler_builtins` look for the `compiler-rt` files in `ci-llvm` instead of the `src/llvm-project` submodule.
|
|
|
|
|
|
GuillaumeGomez:rm-duplicated-usage-of-unstable-options, r=Kobzol
Remove duplicated usage of `-Zunstable-options` in bootstrap
Surprisingly, sometimes it is in the same function.
r? `@Kobzol`
|
|
|
|
This change allows setting either `build.cargo` or `build.rustc` without requiring
both to be set simultaneously, which was not possible previously.
To try it, set `build.rustc` without setting `build.cargo`, and try to bootstrap on clean build.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Rollup of 9 pull requests
Successful merges:
- #128511 (Document WebAssembly target feature expectations)
- #129243 (do not build `cargo-miri` by default on stable channel)
- #129263 (Add a missing compatibility note in the 1.80.0 release notes)
- #129276 (Stabilize feature `char_indices_offset`)
- #129350 (adapt integer comparison tests for LLVM 20 IR changes)
- #129408 (Fix handling of macro arguments within the `dropping_copy_types` lint)
- #129426 (rustdoc-search: use tighter json for names and parents)
- #129437 (Fix typo in a help diagnostic)
- #129457 (kobzol vacation)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
do not build `cargo-miri` by default on stable channel
Skips `cargo-miri` build on `stable` channel just like `miri`.
Closes #129171
cc ``@RalfJung``
|
|
r=Kobzol,petrochenkov,jieyouxu
Ship MinGW-w64 runtime DLLs along with `rust-lld.exe` for `-pc-windows-gnu` targets
`rust-lld.exe` built for `x86_64-pc-windows-gnu` depends on `libgcc_s_seh-1.dll` and `libwinpthread-1.dll` from MinGW-w64. Until now, they were not shipped alongside `rust-lld.exe`, and you could not run `rust-lld.exe` on most systems.
This problem didn't surface until now because:
* Most targets don't use `rust-lld` by default.
* Some people had these DLLs in their `PATH` from some other MinGW binary.
* `rustup` used to add `bin` to the `PATH`, which contains these DLLs for `rustc.exe`. But it no longer does that: https://github.com/rust-lang/rustup/commit/ce3c09a0cb126e2c65a3bb2a3bbf3f098b4c23a2
Fixes #125809
try-job: dist-x86_64-mingw
|
|
|
|
This reverts commit 1687c55168f3837506afcd2240a8a0b6eadcc1eb.
|
|
miri skipped for stable channel by default, do the same for `cargo-miri`.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
r=Mark-Simulacrum
improve submodule updates
During config parsing, some bootstrap logic (e.g., `download-ci-llvm`) checks certain sources (for `download-ci-llvm`, it's `src/llvm-project`) and acts based on their state. This means that if path is a git submodule, bootstrap needs to update it before checking its state. Otherwise it may make incorrect assumptions by relying on outdated sources. To enable submodule updates during config parsing, we need to move the `update_submodule` function from the `Build` to `Config`, so we can access to it during the parsing process.
Closes #122787
|
|
bootstrap: fix clean's remove_dir_all implementation
It turns out bootstrap's `clean.rs`'s hand-rolled `rm_rf` (which probably comes before `std::fs::remove_dir_all` was stable) is very broken on native Windows around both read-only files/directories and especially symbolic links. So instead of rolling our own, just use `std::fs::remove_dir_all`.
This is a blocker for compiletest's own `rm_rf` implementation #129155 which happens to be also buggy, which in turn is a blocker for the rmake.rs test port #128562 that heavily exercises symlinks (I was reviewing #128562 and testing it on native Windows which is how I found out).
I also left a FIXME for `detect_src_and_out` due to a failing assertion on native Windows (opened #129188):
```
---- core::config::tests::detect_src_and_out stdout ----
thread 'core::config::tests::detect_src_and_out' panicked at src\core\config\tests.rs:72:13:
assertion `left == right` failed
left: "E:\\tmp"
right: "C:\\tmp"
```
Fixes #112544 (because now we handle Windows symlinks properly).
try-job: x86_64-msvc
try-job: i686-mingw
try-job: test-various
try-job: armhf-gnu
try-job: aarch64-apple
try-job: aarch64-gnu
|
|
Since https://github.com/rust-lang/rust/pull/127188, copying files from `.rustc-dev-contents`
regressed https://github.com/rust-lang/rust/issues/108767 again. Since `rustc-src` is already
included in the CI rustc sysroot, we don't need to copy these files to have `rustc-src` component.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #129194 (Fix bootstrap test `detect_src_and_out` on Windows)
- #129217 (safe transmute: check lifetimes)
- #129223 ( Fix wrong argument for `get_fn_decl`)
- #129235 (Check that `#[may_dangle]` is properly applied)
- #129245 (Fix a typo in `rustc_hir` doc comment)
- #129271 (Prevent double panic in query system, improve diagnostics)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=albertlarsan68
bootstrap minor improvements and clean-ups
3rd commit fixes https://github.com/rust-lang/rust/issues/128553#issuecomment-2266119948.
|