about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2024-09-04add change entry for `rust.split-debuginfo` removalonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-04remove deprecated option `rust.split-debuginfo`onur-ozkan-19/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-04use the bootstrapped compiler for `test-float-parse` testonur-ozkan-2/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-04forward linker option to lint-docschenx97-0/+3
2024-09-03copy rustc rustlib artifacts from ci-rustconur-ozkan-1/+6
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>
2024-09-03Port std library to RTEMSJan Sommer-0/+1
2024-09-03Rollup merge of #129917 - Kobzol:fix-beta-git, r=Mark-SimulacrumMatthias Krüger-0/+1
Fix parsing of beta version in dry-run mode This was blocking beta release. r? `@BoxyUwU`
2024-09-03Rollup merge of #129311 - onur-ozkan:multiple-candidates-fix, r=KobzolMatthias Krüger-10/+2
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
2024-09-03Rollup merge of #129152 - onur-ozkan:custom-clippy, r=KobzolMatthias Krüger-2/+22
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
2024-09-02Fix parsing of beta version in dry-run modeJakub Beránek-0/+1
2024-08-31exclude tools with deps that have size assertsThe 8472-1/+6
2024-08-31when -Zrandomize-layout is enabled disable alloc test testing internal ↵The 8472-0/+3
struct sizes
2024-08-31disable size asserts in the compiler when randomizing layoutsThe 8472-0/+3
2024-08-31Add rust.randomize-layout config to build artifacts with -Zrandomize-layoutThe 8472-0/+14
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
2024-08-31Rollup merge of #129651 - onur-ozkan:stage0-target-sanity-check, r=KobzolMatthias Krüger-7/+2
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
2024-08-30Make `./x.py <cmd> compiler/<crate>` aware of the crate's featuresLukas Wirth-12/+30
2024-08-30bootstrap: Try to track down why `initial_libdir` sometimes failsZalathar-8/+14
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.
2024-08-29Allow running `./x.py test compiler`Lukas Wirth-8/+3
2024-08-28Rollup merge of #129695 - GuillaumeGomez:fix-clippy-rustdoc-path, r=onur-ozkanJubilee-1/+1
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```
2024-08-28Fix path to run clippy on rustdocGuillaume Gomez-1/+1
2024-08-27downgrade git error to a warning, and skip UX check in CIbinarycat-3/+9
2024-08-27emit old upstream warning no matter the build stepbinarycat-3/+7
2024-08-27warn the user if the upstream master branch is oldbinarycat-2/+3
fixes https://github.com/rust-lang/rust/issues/129528
2024-08-27skip stage 0 target check if `BOOTSTRAP_SKIP_TARGET_SANITY` is setonur-ozkan-7/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-27Rollup merge of #128935 - lqd:needs-zstd, r=KobzolTrevor Gross-1/+16
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
2024-08-26add change entry for custom clippy supportonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-26support custom clippyonur-ozkan-2/+17
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>
2024-08-25allow `llvm.libzstd` with `download-ci-llvm = true`Rémy Rakic-1/+16
but warn about it
2024-08-25Auto merge of #129563 - matthiaskrgr:rollup-t6bai2d, r=matthiaskrgrbors-10/+51
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
2024-08-25explain the options curl passes to bootstrapbinarycat-2/+21
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.
2024-08-25Rollup merge of #129459 - onur-ozkan:separate-stage0-bins, r=KobzolMatthias Krüger-9/+17
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
2024-08-25Rollup merge of #129134 - lolbinarycat:continue-at, r=KobzolMatthias Krüger-1/+34
bootstrap: improve error recovery flags to curl alternative to #128459 fixes #110178 r? ````@Kobzol````
2024-08-25Auto merge of #129295 - Zalathar:profiler-builtins, r=Kobzolbors-12/+37
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.
2024-08-24rewrite extract_curl_version againbinarycat-14/+11
2024-08-24Build `library/profiler_builtins` from `ci-llvm` if appropriateZalathar-12/+37
2024-08-23Auto merge of #129278 - ↵bors-26/+8
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`
2024-08-23use tuples for semver, not floatsbinarycat-9/+16
2024-08-23handle stage0 cargo and rustc separatelyonur-ozkan-9/+17
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>
2024-08-23Auto merge of #129464 - GuillaumeGomez:rollup-ckfqd7h, r=GuillaumeGomezbors-1/+1
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
2024-08-23Rollup merge of #129243 - onur-ozkan:stuff, r=KobzolGuillaume Gomez-1/+1
do not build `cargo-miri` by default on stable channel Skips `cargo-miri` build on `stable` channel just like `miri`. Closes #129171 cc ``@RalfJung``
2024-08-23Rollup merge of #128876 - ColinFinck:rust-lld-with-runtime-dlls, ↵Matthias Krüger-13/+24
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
2024-08-22remove dbg!()binarycat-1/+1
2024-08-22Revert "bootstrap: fix clean's `remove_dir_all` implementation"许杰友 Jieyou Xu (Joe)-15/+78
This reverts commit 1687c55168f3837506afcd2240a8a0b6eadcc1eb.
2024-08-22do not build `cargo-miri` by default on stable channelonur-ozkan-1/+1
miri skipped for stable channel by default, do the same for `cargo-miri`. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-21Rollup merge of #129231 - onur-ozkan:improve-submodule-updates, ↵Matthias Krüger-129/+139
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
2024-08-21Rollup merge of #129187 - jieyouxu:squeaky-clean-windows-symlinks, r=KobzolMatthias Krüger-78/+15
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
2024-08-20don't copy `.rustc-dev-contents` from CI rustconur-ozkan-10/+2
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>
2024-08-20Remove duplicated usage of `-Zunstable-options` in bootstrapGuillaume Gomez-26/+8
2024-08-19Auto merge of #129275 - matthiaskrgr:rollup-qv64hg6, r=matthiaskrgrbors-2/+2
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
2024-08-19Auto merge of #128588 - onur-ozkan:clean-up-bootstrap-internals, ↵bors-56/+52
r=albertlarsan68 bootstrap minor improvements and clean-ups 3rd commit fixes https://github.com/rust-lang/rust/issues/128553#issuecomment-2266119948.