about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2022-08-23rustbuild: fix version parsing for browser-ui-testJosh Stone-1/+4
2022-08-23Rollup merge of #100832 - ehuss:bootstrap-cleanup, r=jyn514Matthias Krüger-20/+10
Some small bootstrap cleanup This is a collection of a few small cleanups. See commits for more details. * Remove some unused fields from the tool_extended macro. * Remove rustfmt from publish_toolstate. * Remove Steve from toolstate failure notices. * Don't allow rustfmt to fail on dist.
2022-08-21Correct test-args to compiletest on Windowsczzrr-1/+9
2022-08-20bootstrap: Don't allow rustfmt to fail on dist.Eric Huss-9/+2
When running `x.py dist`, rustfmt was being allowed to fail when missing-tools is true. This isn't much of an issue in practice since other CI jobs will fail if rustfmt fails. This code was just leftovers from when rustfmt was tracked in toolstate, and this removes it to make it clear that it no longer works that way.
2022-08-20bootstrap: Remove some unused fields from the tool_extended macro.Eric Huss-11/+8
2022-08-21Auto merge of #100536 - Alexendoo:bootstrap-tls-model, r=Mark-Simulacrumbors-4/+13
bootstrap: don't apply `-Ztls-model=initial-exec` to proc macros Potentially fixes #100530 r? `@bjorn3`
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-2/+8
See comment added for details on the test builder restriction. This is primarily intended for macOS CI, but is likely to be a slight win on other builders too.
2022-08-19Refactor if-available setting to work in CIMark Rousskov-44/+79
This verifies if the HEAD sha matches with the detected LLVM SHA, and if not, permits usage of the detected LLVM. Otherwise, we fallback on regular non-downloaded LLVM (currently still cached with sccache, though that's still 10+ minutes on macOS).
2022-08-19Minor refactoringMark Rousskov-2/+1
2022-08-18session: stabilize split debuginfo on linuxDavid Wood-16/+14
Stabilize the `-Csplit-debuginfo` flag... - ...on Linux for all values of the flag. Split DWARF has been implemented for a few months, hasn't had any bug reports and has had some promising benchmarking for incremental debug build performance. - ..on other platforms for the default value. It doesn't make any sense that `-Csplit-debuginfo=packed` is unstable on Windows MSVC when that's the default behaviour, but keep the other values unstable. Signed-off-by: David Wood <david.wood@huawei.com>
2022-08-16bootstrap: don't apply `-Ztls-model=initial-exec` to proc macrosAlex Macleod-4/+13
2022-08-16Rollup merge of #100460 - cuviper:drop-llvm-12, r=nagisaMatthias Krüger-2/+2
Update the minimum external LLVM to 13 With this change, we'll have stable support for LLVM 13 through 15 (pending release). For reference, the previous increase to LLVM 12 was #90175. r? `@nagisa`
2022-08-15Revert "Revert "Remove num_cpus dependency from bootstrap, build-manifest ↵The 8472-5/+5
and rustc_session"" This reverts commit 1ae4b258267462da0b1aae1badcf83578153c799.
2022-08-14Update the minimum external LLVM to 13Josh Stone-2/+2
2022-08-14Impl Debug for some structs of rustbuildohno418-1/+2
2022-08-13Rollup merge of #100468 - cuviper:lazy-x, r=jyn514Michael Goulet-1/+1
Use an extensionless `x` script for non-Windows #99992 added `x.sh` and `x.ps1`, but this broke my lazy `./xTAB` habit that used to get me to `./x.py`. If we rename `x.sh` to `x`, then I can adjust to `./xSPACE` for the same number of characters typed. r? `@jyn514`
2022-08-13Rollup merge of #100464 - khyperia:lld-icf-on-windows, r=jyn514Michael Goulet-1/+6
Make `[rust] use-lld=true` work on windows Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'" This option was introduced in https://github.com/rust-lang/rust/pull/99062 (well, technically https://github.com/rust-lang/rust/pull/99680) See zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/rust-lld.3A.20error.3A.20ignoring.20unknown.20argument.20'-Wl.2C--icf.3Dall'
2022-08-13Auto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandrybors-1/+5
Use llvm-libunwind="in-tree" for Fuchsia targets With updates to Fuchsia CI's Zircon libraries #99833, we can introduce `llvm-libunwind="in-tree"` for Fuchsia targets. This PR restores functionality removed from https://github.com/rust-lang/rust/pull/93604#issuecomment-1136515651. cc `@tmandry` `@djkoloski`
2022-08-12Use an extensionless `x` script for non-WindowsJosh Stone-1/+1
2022-08-12Make `[rust] use-lld=true` work on windowskhyperia-1/+6
Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'"
2022-08-12Auto merge of #99464 - nikic:llvm-15, r=cuviperbors-0/+3
Update to LLVM 15 For preliminary testing. Some LLVM 15 compatibility fixes were applied separately in #99512. Release timeline: * LLVM 15 branched on Jul 26. * The final LLVM 15.0.0 release is scheduled for Sep 6. * Current nightly (1.65.0) is scheduled for Nov 3. Changes in this PR (apart from the LLVM update): * Pass `--set llvm.allow-old-toolchain` for many Docker images. LLVM 16 will require GCC >= 7.1, while LLVM 15 still allows older compilers with an option. Specify the option for builders still using GCC 5.4. #95026 updated some of the used toolchains, but not all. * Use the `+atomics-32` target feature for thumbv6m. * Explicitly link libatomic when cross-compiling LLVM to 32-bit target. * Explicitly disable zstd support, to avoid libzstd.so dependency. New LLVM patches ([commits](https://github.com/rust-lang/llvm-project/commits/rustc/15.0-2022-08-09)): * [rust-only] Fix ICE with GCC 5.4 (https://github.com/nikic/llvm-project/commit/15be58d7f0342b1da5af219bac8bd71d01da6dff) * [rust-only] Fix build with GCC 5.4 (https://github.com/nikic/llvm-project/commit/774edc10fa45229c2aa678f1bef8b4812dc0f76a) * ~~[rust-only] Fix build with GCC 5.2 (https://github.com/nikic/llvm-project/commit/1a6069a7bb35ace1e40d566035cbf7ed2fa3b1f7)~~ * ~~[rust-only] Fix ICE with GCC 5.2 (https://github.com/nikic/llvm-project/commit/493081f2909206e0ed55af68a4058a76c0ad7a64)~~ * ~~[rust-only] Fix build with GCC 5.2 (https://github.com/nikic/llvm-project/commit/0fc5979d738c3a1f9510fe2d62417f7d2af37817)~~ * [backported] Addition of `+atomics` target feature (https://github.com/llvm/llvm-project/commit/57bdd9892d0eba5bdd25fc44799235be7b9f5153). * [backported] Revert compiler-rt change that broke powerpc (https://github.com/llvm/llvm-project/commit/9c68b43915fc1c9c0a07e935163ae8d638d7241b) * [awaiting backport] Fix RelLookupTableConverter on gnux32 (https://github.com/nikic/llvm-project/commit/639388a05f25772fb23eea5b1045e7df83bcfaa7 / https://github.com/llvm/llvm-project/issues/57021) Tested images: dist-x86_64-linux, armhf-gnu, arm-android, dist-s390x-linux, dist-x86_64-illumos, dist-x86_64-freebsd, wasm32, dist-x86_64-musl, dist-various-1, dist-riscv64-linux, dist-mips-linux, dist-mipsel-linux, dist-powerpc-linux, dist-aarch64-linux, dist-x86_64-apple, x86_64-msvc-1, x86_64-msvc-2, dist-various-2, dist-arm-linux Tested up to the usual ipv6 error: test-various, i686-gnu, x86_64-gnu-nopt r? `@ghost`
2022-08-11Rollup merge of #99992 - jyn514:shell-scripts, r=Mark-SimulacrumMatthias Krüger-3/+8
Add `x.sh` and `x.ps1` shell scripts This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716. It still changes the x.py shebang back to python3, for compatibility with non-Unix systems, but also adds alternative entrypoints for systems without `python3` installed. These scripts will be necessary for the rust entrypoint (#94829), so I see little downside in adding them early. I'll update the dev-guide to suggest using these instead of x.py once this is merged. Fixes https://github.com/rust-lang/rust/issues/98650 r? `@Mark-Simulacrum` cc `@dtolnay` `@CAD97` `@yoshuawuyts`
2022-08-11Rollup merge of #100403 - GuillaumeGomez:improve-messages, r=jshaDylan DPC-0/+5
Improve error messages when running rustdoc GUI tests There was already a message on how to install `browser-ui-test`, so nothing to be done there. However, we didn't show how to update its version, so the first commit adds it. Another pain point was how to fix the unexpected crash in `browser-ui-test` (because of a missing `--no-sandbox`, still no idea why it became mandatory a few months ago on some linux distributions...). It now looks like this: ```console Running 1 rustdoc-gui (8 concurrently) ... ERROR: puppeteer failed when trying to create a new page. Please try again with `--no-sandbox` `browser-ui-test` crashed unexpectedly. Please try again with adding `--test-args --no-sandbox` at the end. For example: `x.py test src/test/rustdoc-gui --test-args --no-sandbox` Build completed unsuccessfully in 0:00:03 ``` Thanks to `@jsha` for suggesting these improvements! r? `@jsha`
2022-08-11Add instructions on how to update the browser-ui-test versionGuillaume Gomez-0/+5
2022-08-09LLVM lib unwind fuchsia configAndrew Pollack-1/+5
Removing libunwind from Fuchsia target docs
2022-08-10added some commentsshourya5-1/+2
2022-08-09replaced resume_unwind with process::exit to fixshourya5-5/+2
bootstrap panic when running x fmt --check. running x fmt --check
2022-08-09Rollup merge of #100181 - RalfJung:alloc-ref-mutability, r=jackh726Dylan DPC-0/+4
add method to get the mutability of an AllocId Miri needs this for https://github.com/rust-lang/miri/issues/2463.
2022-08-09Explicitly disable zstd supportNikita Popov-0/+3
Make sure we don't pick up a libzstd.so dependency if it happens to be installed on the system.
2022-08-08Add `x.sh` and `x.ps1` shell scriptsJoshua Nelson-3/+8
This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716. It still changes the shebang back to python3, for compatibility with non-Unix systems, but also adds alternative entrypoints for systems without `python3` installed. These scripts will be necessary for the rust entrypoint (#94829), so I see little downside in adding them early.
2022-08-07Auto merge of #100004 - jyn514:exclude-single-test, r=Mark-Simulacrumbors-14/+5
Move `x test --skip` to be part of `--exclude` `--skip` is inconsistent with the rest of the interface and redundant with `--exclude`. Fix --exclude to work properly for files and directories rather than having a separate flag. Fixes https://github.com/rust-lang/rust/issues/96342. cc https://github.com/rust-lang/rust/pull/96493#issuecomment-1200521720 r? `@Mark-Simulacrum`
2022-08-06Change implementation of `-Z gcc-ld` and `lld-wrapper` againVadim Petrochenkov-3/+11
2022-08-05propagate --bless to MiriRalf Jung-0/+4
2022-08-04Auto merge of #100123 - matthiaskrgr:rollup-aylwvyc, r=matthiaskrgrbors-19/+21
Rollup of 9 pull requests Successful merges: - #98877 (Set llvm configs when building lld) - #100068 (Fix backwards-compatibility check for tests with `+whole-archive`) - #100083 (rustdoc: use a more compact encoding for source-files.js) - #100102 (Fix typo) - #100104 (Remove more Clean trait implementations) - #100105 (Add regression test for #90871) - #100107 (fix trailing whitespace in error message) - #100111 (Provide suggestion on missing `let` in binding statement) - #100119 (FilesTimes support does not build for ESP-IDF) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-08-03Auto merge of #100065 - ehuss:update-cargo, r=ehussbors-2/+0
Update cargo, rls 14 commits in 85b500ccad8cd0b63995fd94a03ddd4b83f7905b..4fd148c47e733770c537efac5220744945d572ef 2022-07-24 21:10:46 +0000 to 2022-08-03 15:03:52 +0000 - Revert "Drop check for mingw32-make." (rust-lang/cargo#10934) - Add reasons to all ignored tests. (rust-lang/cargo#10929) - Grammar fixup unused patch message (rust-lang/cargo#10933) - Always allow hg to be missing on CI. (rust-lang/cargo#10931) - Fix formats_source test requiring rustfmt. (rust-lang/cargo#10918) - Disable scrape_examples_complex_reverse_dependencies (rust-lang/cargo#10921) - Contrib: Add docs on the rustbot ready command (rust-lang/cargo#10916) - Support for negative --jobs parameter, counting backwards from max CPUs (rust-lang/cargo#10844) - Add requirements to cargo_test. (rust-lang/cargo#9892) - Contrib: Document submodule update process (rust-lang/cargo#10913) - Contrib: Add docs on how to use crater (rust-lang/cargo#10912) - Contrib: Document new-release process (rust-lang/cargo#10914) - Override to resolver=1 in published package (rust-lang/cargo#10911) - fix(add): Update the lock file (rust-lang/cargo#10902) 1 commits in fcf1f94c9ab2acc18cfd4368a4aeb38e77da9649..4d8b0a19986a4daab37287a5b5fe2da0775d1873 2022-07-14 17:19:11 +0200 to 2022-08-02 22:34:34 -0400 - Update cargo (rust-lang/rls#1782)
2022-08-03Rollup merge of #98877 - topjohnwu:fix-lld, r=jyn514Matthias Krüger-19/+21
Set llvm configs when building lld Several LLVM configs applied when building LLVM should also be applied when building LLD. For example, without the fix, setting both `llvm.thin-lto=true` and `rust.lld=true` when building on Linux will fail, since we need to manually override the compiler and linker to `clang`, but those will not be used when building LLD, causing link errors. r? ```@jyn514```
2022-08-03Set llvm configs when building lldtopjohnwu-19/+21
2022-08-02Remove CARGO_TEST_DISABLE_GIT_CLIEric Huss-2/+0
This was a leftover from the Appveyor days.
2022-08-02Rollup merge of #100008 - jyn514:eager-submodules, r=bjorn3Matthias Krüger-18/+2
Update all pre-cloned submodules on startup Fixes https://github.com/rust-lang/rust/issues/99083
2022-08-02Rollup merge of #99293 - jo3bingham:issue-98720-fix, r=jyn514Matthias Krüger-1/+7
only run --all-targets in stage0 for Std Repro'd the issue with `python3 x.py check --stage 1 library/std` and tested the fix with the same command. r? `@jyn514` I tried to implement [this solution](https://github.com/rust-lang/rust/issues/98720#issuecomment-1184435462), but didn't have any luck. I don't think I fully understood what needed to be done. However, I would love to be mentored on it since it would be a more correct solution, and I can learn more about how bootstrap works.
2022-08-01add commentJoseph Bingham-0/+3
2022-08-01Rollup merge of #99864 - klensy:bootstrap-art-dupe, r=jyn514Matthias Krüger-24/+28
bootstrap: don't emit warn about duplicated deps with same/different features if some of sets actually empty Example (https://github.com/rust-lang-ci/rust/runs/7551453940?check_suite_focus=true#step:25:15008): ``` duplicate artifacts found when compiling a tool, this typically means that something was recompiled because a transitive dependency has different features activated than in a previous build: the following dependencies are duplicated although they have the same features enabled: the following dependencies have different features: memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index) `clippy-driver` additionally enabled features {} at "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-freebsd/release/deps/libmemchr-44aa6ff4f08e293f.rlib" `cargo` additionally enabled features {"use_std"} at "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-freebsd/release/deps/libmemchr-70e29af0fd3ef292.rlib" ``` Notice that no info printed under `the following dependencies are duplicated although they have the same features enabled:`
2022-07-31Update all pre-cloned submodules on startupJoshua Nelson-18/+2
Fixes https://github.com/rust-lang/rust/issues/99083
2022-07-31Move `x test --skip` to be part of `--exclude`Joshua Nelson-14/+5
`--skip` is inconsistent with the rest of the interface and redundant with `--exclude`. Fix --exclude to work properly for files and directories rather than having a separate flag. If someone needs to use --skip for something other than compiletest, they can use `--test-args --skip` instead.
2022-07-30Rollup merge of #99962 - Mark-Simulacrum:detect-ci-artifact-channel, r=jyn514Matthias Krüger-6/+13
Discover channel for LLVM download r? `@jyn514` cc `@RalfJung` Reported on Zulip: https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/No.20prebuilt.20LLVM.20for.20the.20beta.20branch.3F
2022-07-30Discover channel for artifact downloadMark Rousskov-6/+13
When we're downloading based on a CI commit, that can still be -beta- or even -stable-, so we should lookup the channel it was built with.
2022-07-29Don't give a hard error for `x check --keep-stage 0`Joshua Nelson-9/+0
Stage 1 check has been supported since https://github.com/rust-lang/rust/pull/81064. #81064 changed the error message for this, but I don't think there's any reason we should prevent using it. I tested locally and `keep-stage` works fine. Don't give a hard error when trying to use it.
2022-07-29Auto merge of #99715 - tmiasko:coverage-run-make, r=Mark-Simulacrumbors-2/+6
Move coverage tests from run-make-fulldeps to run-make
2022-07-28Clone the `src/llvm-project` submodule if profiling is enabledNilstrieb-0/+5
To compile rustc with profiling information, `compiler-rt` from LLVM is required. Building it requires the `src/llvm-project` submodule to be initialized and updated.
2022-07-28bootstrap: don't emit warn about duplicated deps with same/different ↵klensy-24/+28
features, if some of lists actually empty