summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2024-01-11fix the incorrect target on stage1 ui-fulldeps testsonur-ozkan-2/+7
Signed-off-by: onur-ozkan <work@onurozkan.dev> (cherry picked from commit b888e2f82b9dbe81875f50d13adbc0271a9401ff)
2024-01-11enable RUSTC_BOOTSTRAP on panic=abort mir-opt testonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev> (cherry picked from commit 8aa7dd06f6e50621dc10f9f9490681be8a45876f)
2023-12-18Auto merge of #118946 - onur-ozkan:fix-clean, r=clubby789bors-2/+8
fix `x clean` for cross-compiled artifacts ```toml build = "x86_64-unknown-linux-gnu" host = ["arm-unknown-linux-gnueabihf"] target = ["arm-unknown-linux-gnueabihf"] ``` On `x86_64-unknown-linux-gnu`, after cross-compiling with the sample configuration above, artifacts under `build/x86_64-unknown-linux-gnu` never gets cleaned with `x clean`. This PR fixes that.
2023-12-17Auto merge of #119020 - onur-ozkan:remove-hex, r=albertlarsan68bors-29/+79
remove `hex` dependency in bootstrap First commit removes the `hex` dependency, as we can achieve the same output with the added function, which is very small and simple. Second commit creates a test module for the helpers util and adds unit tests for multiple helper functions, including `hex_encode`.
2023-12-17expand helpers tests with new test module `tests/helpers`onur-ozkan-16/+63
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-16make x.py clippy download and use beta clippyasquared31415-88/+124
2023-12-16use RUSTC_WRAPPER instead of RUSTCjyn-15/+68
2023-12-16give a better error if renaming a temp file failsjyn-1/+8
2023-12-16create helper fn `hex_encode` and remove `hex` dependencyonur-ozkan-13/+16
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-16fix printing cargo args on --dry-runjyn-7/+9
2023-12-15Auto merge of #118936 - nikic:update-llvm-18, r=cuviperbors-21/+21
Update to LLVM 17.0.6 This is a rebase on the final LLVM 17 release. Includes the RISCV fix requested in https://github.com/rust-lang/llvm-project/pull/157 (and I think this is also the only change in this release that is relevant to rustc). r? `@cuviper` Fixes #117902
2023-12-14fix `x clean` for cross-compiled artifactsonur-ozkan-2/+8
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-14Fix bootstrap test failuresNikita Popov-21/+21
There are a number of fixes here: * if-unchanged is supposed to be the default for channel=dev, but actually used different logic. Make sure it is the same. * If no llvm section was specified at all, different logic was also used. Go through the standard helper. * Some more assertions should depend on if_unchanged.
2023-12-14Auto merge of #118789 - jyn514:dry-run, r=onur-ozkanbors-2/+2
fix --dry-run when the change-id warning is printed previously: ``` Building bootstrap Compiling bootstrap v0.0.0 (/home/jyn/src/rust2/src/bootstrap) Finished dev [unoptimized] target(s) in 4.23s thread 'main' panicked at src/bin/main.rs:147:17: fs::write(warned_id_path, latest_change_id.to_string()) failed with No such file or directory (os error 2) ```
2023-12-13Auto merge of #118919 - matthiaskrgr:rollup-02udckl, r=matthiaskrgrbors-20/+20
Rollup of 4 pull requests Successful merges: - #118759 (Support bare unit structs in destructuring assignments) - #118871 (Coroutine variant fields can be uninitialized) - #118883 (Change a typo mistake in the-doc-attribute.md) - #118906 (Fix LLD thread flags in bootstrap on Windows) r? `@ghost` `@rustbot` modify labels: rollup
2023-12-13Fix LLD thread flag selection for Windows targetsJakub Beránek-1/+1
2023-12-13Add `TargetSelection::is_windows` methodJakub Beránek-19/+19
2023-12-12Unbreak non-unix non-windows bootstrapDavid Tolnay-1/+0
2023-12-12Auto merge of #118817 - lnicola:sync-from-ra, r=lnicolabors-0/+2
Subtree update of `rust-analyzer` r? `@ghost`
2023-12-12Add rust_analyzer to EXTRA_CHECK_CFGSLaurențiu Nicola-0/+2
2023-12-11sort dump files at the end of bootstraponur-ozkan-2/+29
To ensure deterministic results we must sort the dump lines. This is necessary because the order of rustc invocations different almost all the time. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-11update auto completionsonur-ozkan-2/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-11Dump command invocations from bootstrap shimsonur-ozkan-9/+69
When making changes to the bootstrap that shouldn't change its behavior, this feature will help developers perform comparisons to check whether the bootstrap behavior has changed or not. This can also be used for different purposes. For example, allowing CI to dump the shims and upload them so that developers can download them and compare with their local dump to see if CI affects the bootstrap unexpectedly. Or, make CI perform comparisons on specific bootstrap tests to check for behavior changes between the master and PR branches. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-10Revert "Use MCP510"Jakub Beránek-11/+3
This reverts commit 40c3d351ada5d991f7474ecc4bc6c9b976c656cb. The option was dogfooded for using lld with MCP510 , but it broke testing with LLD, because we don't pass `-Zunstable-options` on enough places.
2023-12-10Add ChangeInfo recordJakub Beránek-0/+5
2023-12-10Remove unused run_dsymutil and gpg_password_file config valuesJakub Beránek-4/+0
2023-12-10Destructure TOML configsJakub Beránek-168/+299
This will allow us to check if all values are used
2023-12-10Review fixesJakub Beránek-21/+21
2023-12-10Produce an explicit error when using a self-contained lld, but we don't add ↵Jakub Beránek-0/+10
it to sysroot
2023-12-10Add change tracker entryJakub Beránek-0/+5
2023-12-10Do not invoke external lld to figure out thread flags in self-contained modeJakub Beránek-8/+23
2023-12-10Use MCP510Jakub Beránek-2/+11
2023-12-10Introduce `LldMode` and generalize parsing of `use-lld`Jakub Beránek-12/+99
2023-12-10Refactor rust(do)c linker flagsJakub Beránek-65/+51
2023-12-10Add `is_msvc` functionJakub Beránek-23/+26
2023-12-10Auto merge of #118787 - GuillaumeGomez:rollup-fj5wr3q, r=GuillaumeGomezbors-2/+13
Rollup of 5 pull requests Successful merges: - #117966 (add safe compilation options) - #118747 (Remove extra check cfg handled by libc directly) - #118774 (add test for inductive cycle hangs) - #118775 (chore: add test case for type with generic) - #118782 (use `&` instead of start-process in x.ps1) r? `@ghost` `@rustbot` modify labels: rollup
2023-12-09Auto merge of #118069 - onur-ozkan:bypass_bootstrap_lock, r=Mark-Simulacrumbors-28/+43
allow bypassing the build directory lock As bootstrap locks its entire build directory, parallel bootstrapping for anything becomes impossible. This change enables developers to bypass the locking mechanism (with `--bypass-bootstrap-lock` flag) when it is unnecessary for their specific use case. more context: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Build.20.28miri.3F.29.20sysroots.20in.20parallel cc `@saethlin`
2023-12-09fix --dry-run when the change-id warning is printedjyn-2/+2
2023-12-09allow bypassing the build directory lockonur-ozkan-28/+43
As bootstrap locks its entire build directory, parallel bootstrapping for anything becomes impossible. This change enables developers to bypass the locking mechanism when it is unnecessary for their specific use case. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-09Auto merge of #117771 - tmandry:fuchsia-gha, r=Mark-Simulacrumbors-1/+1
Build Fuchsia in CI Fittingly, when I first put this up it was failing due to discovering an ICE in clippy (looks like fixed in https://github.com/rust-lang/rust-clippy/pull/11760), probably more fallout from recent type system changes. Other recent regressions this would have caught include - #117455 and #117493 - #117602 Originally we discussed basing this on cargotest, but they ended up not sharing anything. Fuchsia has its own tool to manage checkouts and its own build system. What it requires is a fully "install"ed toolchain with a host and fuchsia target. We share logic from the dist-various-2 builder to build the fuchsia target. Right now this runs clippy and skips linking a bunch of targets, since most issues we catch are in the frontend. In theory we could probably get the build CPU time down quite a bit with this approach, but right now some linked targets are creeping into the dependencies anyway and we don't have a good way of preventing that yet. The approach is basically to get a checkout at a pinned commit and then run a [script](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/943833/6/scripts/rust/build_fuchsia_from_rust_ci.sh) at a predetermined location. I would like to update that pin every few weeks. Partial checkouts are used to minimize clone time, but we don't filter out prebuilt packages. r? `@Mark-Simulacrum` Based on discussion in [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Putting.20Fuchsia.20in.20crater).
2023-12-09Rollup merge of #118747 - Urgau:check-cfg-freebsd-cleanup, r=onur-ozkanGuillaume Gomez-2/+0
Remove extra check cfg handled by libc directly The `libc` crate has handle for quite some time now [check-cfg in it's own build script](https://github.com/rust-lang/libc/blob/497ac428bc010b5db9682ecf94cd567b31d53e5c/build.rs#L6-L32). We therefor no longer need to manually define them.
2023-12-09Rollup merge of #117966 - lxy19980601:safe_compilation_options, ↵Guillaume Gomez-0/+13
r=Mark-Simulacrum add safe compilation options Add two options when building rustc : strip and stack protector. If set `strip = true`, `rustc` will be stripped of symbols using `-Cstrip=symbols`. Also can set `stack-protector` and then `rustc` will be compiled with stack protectors.
2023-12-08Remove extra check-cfg handled by libc directlyUrgau-2/+0
2023-12-08Auto merge of #118301 - weihanglo:rustfix-doc, r=albertlarsan68bors-5/+4
docs: publish nightly doc for `rustfix` `rustfix `has migrated into rust-lang/cargo in <https://github.com/rust-lang/cargo/issues/13005>. We now can publish nightly doc for it.
2023-12-07Build Fuchsia in CITyler Mandry-1/+1
2023-12-06Rollup merge of #117981 - Urgau:check-cfg-remove-deprecated-syntax, r=b-naberMatthias Krüger-3/+3
Remove deprecated `--check-cfg` syntax This PR removes the deprecated `--check-cfg` `names(...)` and `values(...)` syntax. Follow up to https://github.com/rust-lang/rust/pull/111072 Part of https://github.com/rust-lang/compiler-team/issues/636 r? compiler
2023-12-06Rollup merge of #118650 - RalfJung:flags-sync, r=clubby789Matthias Krüger-0/+2
add comment about keeping flags in sync between bootstrap.py and bootstrap.rs They got out of sync, probably because this comment was missing on the Python side (it only exists on the Rust side). https://github.com/rust-lang/rust/pull/118642 brings the flags back in sync but does not fix the comment, so let's do that here. r? clubby789
2023-12-05Rollup merge of #118642 - Xanewok:patch-1, r=clubby789Michael Goulet-1/+0
bootstrap(builder.rs): Don't explicitly warn against `semicolon_in_expressions_from_macros` This already wasn't passed in bootstrap.py and the lint itself already warns-by-default for 2 years now and has already been added to the future-incompat group in Rust 1.68. See https://github.com/rust-lang/rust/issues/79813 for the tracking issue.
2023-12-05add comment about keeping flags in sync between bootstrap.py and bootstrap.rsRalf Jung-0/+2
2023-12-05Update bootstrap libc to 0.2.150Urgau-3/+3
Version 0.2.150 include support for the new check-cfg syntax