Commit graph

2356 commits

Author SHA1 Message Date
Jakub Beránek
e4bfad2ba1 Build GCC on the Linux x64 dist runner 2025-02-28 09:43:05 +01:00
bors
a46c755c6a Auto merge of #136921 - Kobzol:gcc-build, r=onur-ozkan
Build GCC on CI

Previously, we have downloaded a specific commit of GCC and prebuilt it inside Docker using the `build-gccjit.sh` script. This PR removes that scripts and uses the bootstrap GCC step. This allows us to use the `src/gcc` submodule for determining which GCC should be built, and it also moves the logic closer to LLVM, which is also built by bootstrap.

A few things to note:
- The `sccache` option is currently in the `llvm` block, so the GCC build uses `llvm.ccache`, which is a bit weird :) We could either add `gcc.ccache`, or (what I think would be better) to just move `ccache` to the `build` section, as I don't think that it will be necessary to use ccache for LLVM, but not for GCC.
- When the GCC codegen backend is built, it needs to depend on a step that first builds GCC. This is currently done in a hacky way. The proper solution is to create a separate step for the GCC codegen backend, but that is a larger change. Let me know what you think.

r? `@onur-ozkan`

try-job: i686-msvc-1
try-job: x86_64-mingw-1
2025-02-26 03:04:21 +00:00
León Orell Valerian Liehr
8462d56fc1
Rollup merge of #137539 - GuillaumeGomez:copy-content-tests, r=notriddle
Add rustdoc-gui regression test for #137082

Fixes https://github.com/rust-lang/rust/issues/137082.

Added new commands in `browser-ui-test` allowing us to add a regression test for #137082 and also another to copy code examples content.

r? `@notriddle`
2025-02-25 13:07:34 +01:00
Guillaume Gomez
6b2f5cf43f Update browser-ui-test version to 0.20.3 2025-02-24 11:52:33 +01:00
bors
07697360ae Auto merge of #137189 - Kobzol:update-host-llvm, r=nikic
Update host LLVM to 20.1 on CI

r? `@ghost`
2025-02-22 22:58:17 +00:00
bors
eeb9035117 Auto merge of #137023 - Kobzol:bump-sccache, r=marcoieni
Bump sccache in CI to 0.9.1

We haven't updated the used sccache version for years, it has accrued a bunch of fixes and features in the meantime. It now supports the `--show-adv-stats` flag, which gives a more detailed summary of the results of caching. And it can also cache Rust code, which could be useful in the future (https://github.com/rust-lang/rust/pull/136942 - although now there are no large wins).

It also supports caching PGO now, but since the PGO profiles are always different, it won't make any real difference.

https://github.com/rust-lang/rust/pull/133076 previously tried to update the version to 0.3 (CC `@klensy)`

r? `@marcoieni`
2025-02-20 05:59:04 +00:00
Matthias Krüger
40379e299c
Rollup merge of #136815 - ChrisDenton:fix-mingw-ci, r=Kobzol
CI: Stop /msys64/bin from being prepended to PATH in msys2 shell

We used to do this along time ago but we stopped doing it when we started installing msys2 manually. 4fd3cf96a1/src/ci/scripts/install-msys2.sh (L11-L13)

Fixes #136795

try-job: dist-i686-mingw
2025-02-19 21:16:11 +01:00
bors
de91711756 Auto merge of #137176 - matthiaskrgr:rollup-eht05gr, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #136959 (Simplify switch sources)
 - #137020 (Pass vendored sources from bootstrap to generate-copyright)
 - #137073 (boostrap: skip no_std targets in Std doc step)
 - #137165 (Use `tell` for `<File as Seek>::stream_position`)
 - #137166 (Update default loongarch code model in docs)
 - #137168 (correct comment)
 - #137169 (CI: rfl: move job forward to Linux v6.14-rc3)
 - #137170 (Allow configuring jemalloc per target)
 - #137173 (Subtree update of `rust-analyzer`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-18 00:05:30 +00:00
Jakub Beránek
28d589cb38
Update host LLVM to 20.1 on CI 2025-02-17 20:58:24 +01:00
bors
ce36a966c7 Auto merge of #135763 - nikic:llvm-20, r=cuviper
Update to LLVM 20

LLVM 20 GA is scheduled for March 11th. Rust 1.87 will be stable on May 15th.

* [x] https://github.com/rust-lang/rust/pull/135764
* [x] https://github.com/rust-lang/rust/pull/136134
* [x] https://github.com/rust-lang/compiler-builtins/pull/752
* [x] https://github.com/llvm/llvm-project/pull/125287
* [x] https://github.com/rust-lang/rust/pull/136537
* [x] https://github.com/rust-lang/rust/pull/136895
* [x] Wait for beta branch (Feb 14).

Tested: host-x86_64, host-aarch64, apple, mingw, msvc
2025-02-17 14:19:33 +00:00
WANG Rui
1873bd3720 Default to the medium code model for the loongarch64-linux toolchains
The medium code model is already the default on the Rust side.
Make sure that linked in C objects (e.g. from glibc) also use
medium code model.
2025-02-17 12:42:00 +01:00
Miguel Ojeda
f46c7652d5 CI: rfl: move job forward to Linux v6.14-rc3
Linux v6.14-rc3 contains commit 6273a058383e ("x86: rust: set
rustc-abi=x86-softfloat on rustc>=1.86.0"), which resolves the error
from https://github.com/rust-lang/rust/pull/136146.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-02-17 10:46:01 +01:00
bors
5bc6231454 Auto merge of #137127 - pietroalbini:pa-musl-cve-2025-26519, r=jieyouxu
Fix musl's CVE-2025-26519

The musl project [announced CVE-2025-26519](https://www.openwall.com/lists/musl/2025/02/13/1), which could result in out-of-bounds writes when calling the `iconv` function. There is no musl release available with the fixes at this point in time (and we're using an older version of musl anyway), so this PR applies the provided patches on top of the musl source tarball we download.
2025-02-16 18:20:57 +00:00
Pietro Albini
a6ee2f4af2
fix musl's CVE-2025-26519 2025-02-16 16:36:55 +01:00
bors
a3d4bd382a Auto merge of #136914 - marcoieni:arm-ubuntu-24, r=jdno
ci: use ubuntu 24 for free arm runner

try-job: aarch64-gnu
try-job: aarch64-gnu-debug
2025-02-16 15:07:36 +00:00
Matthias Krüger
6a7bff2915
Rollup merge of #137070 - Kobzol:ci-summary-invalid-link, r=marcoieni
Do not generate invalid links in job summaries

Avoid [this](https://github.com/rust-lang-ci/rust/actions/runs/13341911341#summary-37267605606). It has bugged me for quite some time :) When a directory is empty, the `*.xz` bash glob "expands" to a file called `*.xz`.

r? `@marcoieni`
2025-02-15 20:15:01 +01:00
Jakub Beránek
b4d9d02538 Install bzip2
It is apparently required to download GCC dependencies.
2025-02-15 16:48:37 +01:00
Jakub Beránek
e3412617df Do not generate invalid links in job summaries 2025-02-15 11:45:41 +01:00
Jacob Pratt
92adb927f1
Rollup merge of #135813 - marcoieni:free-runner-i686-mingw, r=jdno
CI: split i686-mingw job to three free runners

try-job: i686-mingw-1
try-job: i686-mingw-2
try-job: i686-mingw-3
try-job: x86_64-mingw-1
2025-02-15 02:37:27 -05:00
Chris Denton
cb9cb1de29
Don't error if stopping mysql fails in CI 2025-02-14 21:22:02 +00:00
Jakub Beránek
87fbd4e5df Remove build-gccjit.sh script 2025-02-14 18:42:58 +01:00
Jakub Beránek
0d0a2a3bea Do not pass empty AWS keys to sccache in PR builds 2025-02-14 12:30:50 +01:00
Jakub Beránek
f240986b8a Print advanced sccache statistics 2025-02-14 12:30:03 +01:00
Jakub Beránek
ef7534a552 Update sccache version used on CI to 0.9.1 2025-02-14 12:29:59 +01:00
MarcoIeni
00683a05c2
CI: split i686-mingw job to three free runners 2025-02-14 11:10:01 +01:00
bors
905b1bf1cc Auto merge of #137010 - workingjubilee:rollup-g00c07v, r=workingjubilee
Rollup of 9 pull requests

Successful merges:

 - #135439 (Make `-O` mean `OptLevel::Aggressive`)
 - #136460 (Simplify `rustc_span` `analyze_source_file`)
 - #136904 (add `IntoBounds` trait)
 - #136908 ([AIX] expect `EINVAL` for `pthread_mutex_destroy`)
 - #136924 (Add profiling of bootstrap commands using Chrome events)
 - #136951 (Use the right binder for rebinding `PolyTraitRef`)
 - #136981 (ci: switch loongarch jobs to free runners)
 - #136992 (Update backtrace)
 - #136993 ([cg_llvm] Remove dead error message)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-14 06:13:42 +00:00
MarcoIeni
fc5ff7f3f9
ci: switch loongarch jobs to free runners 2025-02-13 18:10:22 +01:00
MarcoIeni
8ff3639dff
ci: move x86_64-gnu-debug job to the free runner 2025-02-13 11:29:55 +01:00
MarcoIeni
eada619518
ci: use ubuntu 24 for free arm runner 2025-02-12 09:44:51 +01:00
MarcoIeni
7f38958e50
ci: remove more unused files and directories in free runners 2025-02-11 17:47:32 +01:00
bors
8c61cd4df8 Auto merge of #136571 - marcoieni:ubuntu-24-large-runners, r=Mark-Simulacrum
ci: use ubuntu 24 for x86 large runners

try-job: dist-powerpc64le-linux
try-job: x86_64-gnu-debug
try-job: dist-arm-linux
try-job: x86_64-fuchsia
try-job: x86_64-gnu-distcheck
try-job: dist-x86_64-linux
try-job: dist-x86_64-linux-alt
2025-02-11 13:06:54 +00:00
Matthias Krüger
7b490494f2
Rollup merge of #136155 - tmiasko:msvc-enable-sanitizers, r=Mark-Simulacrum
Enable sanitizers on MSVC CI jobs

Previously MSVC CI would ignore all tests annotated with needs-sanitizer-support header.
2025-02-11 02:53:42 +01:00
bors
6171d944ae Auto merge of #133092 - madsmtm:bootstrap-deployment-target, r=Mark-Simulacrum,jieyouxu
Always set the deployment target when building std

`cc` has [a bug/feature](https://github.com/rust-lang/cc-rs/issues/1171) (I guess depending on how you look at it) where the default deployment target is taken from the SDK instead of from `rustc`. This causes `compiler-builtins` to build `compiler-rt` with the wrong deployment target on iOS.

I've been meaning to change how `cc` works in this regard, but that's a lengthy process, so let's fix it in bootstrap for now.

The behaviour can be seen locally with `./x build library --set build.optimized-compiler-builtins=true` for various target triples, and then inspecting with `otool -l build/host/stage1/lib/rustlib/*/lib/libcompiler_builtins-*.rlib | rg 'minos|version'`. I have added a rmake test that ensures that we now have the same version everywhere.

Fixes https://github.com/rust-lang/rust/issues/128419
Fixes https://github.com/rust-lang/compiler-builtins/issues/650
Fixes https://github.com/rust-lang/rust/issues/136523
See also https://github.com/rust-lang/cargo/issues/13115, https://github.com/rust-lang/cc-rs/issues/1171, https://github.com/rust-lang/rust/issues/136113
See https://github.com/rust-lang/rust/pull/133092#issuecomment-2626206772 for a description of how the change works.

try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: dist-apple-various
try-job: dist-aarch64-apple
try-job: dist-various-2
try-job: x86_64-fuchsia
2025-02-10 21:09:36 +00:00
Matthias Krüger
111726c3fa
Rollup merge of #136628 - heiher:crosstool-ng-1.27, r=Mark-Simulacrum
ci: upgrade to crosstool-ng 1.27.0

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
try-job: dist-powerpc64le-linux
2025-02-10 16:38:24 +01:00
Chris Denton
5573cd320c
Prevent /msys64/bin from being prepended to PATH 2025-02-10 15:03:44 +00:00
Jubilee
e1bd25e970
Rollup merge of #136487 - marcoieni:disable-mysql-systemctl, r=Mark-Simulacrum
ci: stop mysql before removing it

try-job: aarch64-gnu
2025-02-10 00:51:52 -08:00
Matthias Krüger
45771e43ba
Rollup merge of #136679 - Flakebi:loongarch64-diskspace, r=marcoieni
ci: Use largedisk for loongarch

`dist-loongarch64-linux` and `dist-loongarch64-musl` seem to run out of disk space when adding the amdgpu LLVM backend. There are changes underway to free more disk space, but that may take a while, so it was suggested to switch the affected jobs to a largedisk runner until that is ready.
`dist-powerpc64-linux` is another job that ran out of disk space one time, but it succeeded the other times, so I did not include it here.

amdgpu target PR with more references to the failures: #134740

r? ```@marcoieni```
2025-02-08 21:37:27 +01:00
bors
64e06c0f55 Auto merge of #136684 - matthiaskrgr:rollup-mlpzre5, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #135973 (fix tail call checks wrt `#[track_caller]`)
 - #136191 (compiler: replace few consts arrays with statics to remove const dupes)
 - #136565 (compiler: Clean up weird `rustc_abi` reexports)
 - #136582 (Revert "CI: build FreeBSD artifacts on FreeBSD 13.4")
 - #136627 (MIR validation: add comment explaining the limitations of CfgChecker)
 - #136634 (Stabilise `Cursor::{get_mut, set_position}` in `const` scenarios.)
 - #136643 (ping me for attribute-related changes)
 - #136644 (Add `rustc_hir_pretty::item_to_string` function)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-07 13:42:52 +00:00
Matthias Krüger
8b69cf1983
Rollup merge of #136582 - asomers:revert-132232, r=tgross35
Revert "CI: build FreeBSD artifacts on FreeBSD 13.4"

This reverts commit cf34545720.

That commit led to a regression of
https://github.com/rust-lang/rust/issues/132185 .  So my analysis that the problem lay in FreeBSD 13.2's specific LLVM version was clearly wrong.  Revert that commit until we can figure out the real root cause.

Fixes #132185

try-job: dist-x86_64-freebsd
try-job: dist-various-2
2025-02-07 12:01:58 +01:00
Flakebi
6f515fbcff
ci: Use largedisk for loongarch
`dist-loongarch64-linux` and `dist-loongarch64-musl` seem to run out of
disk space when adding the amdgpu LLVM backend. There are changes
underway to free more disk space, but that may take a while, so it was
suggested to switch the affected jobs to a largedisk runner until that
is ready.
2025-02-07 10:23:21 +01:00
MarcoIeni
6021598446
ci: use ubuntu 22 for free arm runners 2025-02-06 18:06:42 +01:00
MarcoIeni
0d9cb9c01d
ci: use ubuntu 24 for x86 large runners 2025-02-06 15:13:40 +01:00
WANG Rui
ed2823c6ef ci: upgrade to crosstool-ng 1.27.0 2025-02-06 10:23:44 +08:00
Guillaume Gomez
d92d9f837b Update browser-ui-test version to 0.20.2 2025-02-05 17:06:38 +01:00
Alan Somers
d4b8c82259 fixup: fix the compiler path in one more Dockerfile 2025-02-05 09:02:02 -07:00
Alan Somers
8d8028f400 Revert "CI: build FreeBSD artifacts on FreeBSD 13.4"
This reverts commit cf34545720.

That commit led to a regression of
https://github.com/rust-lang/rust/issues/132185 .  So my analysis that
the problem lay in FreeBSD 13.2's specific LLVM version was clearly
wrong.  Revert that commit until we can figure out the real root cause.

Fixes #132185
2025-02-05 07:02:16 -07:00
bors
affdb59607 Auto merge of #136483 - marcoieni:dist-x86_64-msvc-windows-25, r=Kobzol
ci: move dist-x86_64-msvc to windows 2025

try-job: dist-x86_64-msvc
2025-02-03 22:51:35 +00:00
bors
f027438f8b Auto merge of #136146 - RalfJung:x86-abi, r=workingjubilee
Explicitly choose x86 softfloat/hardfloat ABI

Part of https://github.com/rust-lang/rust/pull/135408:
Instead of choosing this based on the target features listed in the target spec, make that choice explicit.
All built-in targets are being updated here; custom (JSON-defined) x86 (32bit and 64bit) softfloat targets need to explicitly set `rustc-abi` to `x86-softfloat`.
2025-02-03 20:02:54 +00:00
Ralf Jung
8596ce141c patch RfL job 2025-02-03 16:56:51 +01:00
MarcoIeni
4677d753f9
ci: stop mysql before removing it 2025-02-03 16:06:54 +01:00