Commit graph

2093 commits

Author SHA1 Message Date
Michael Goulet
c682aa162b Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
Elli Howard
50b8915e6d
Add --enable-profiler to armhf dist
Adds the --enable-profiler flag to the RUST_CONFIGURE_ARGS for armhf distribution for Linux.  This enables running coverage for tests
2024-09-20 22:48:36 -07:00
Josh Stone
6fd8a50680 Update the minimum external LLVM to 18 2024-09-18 13:53:31 -07:00
Kyle Huey
930db09236 Add zlib to musl dist image so rust-lld will support zlib compression for debug info there.
Fixes #130063.
2024-09-17 08:10:44 -07:00
Matthias Krüger
21df3ff19e
Rollup merge of #130151 - ChrisDenton:slow-ci, r=Mark-Simulacrum
Use a small runner for msvc-ext2 job

Hopefully this should eliminate the errors from this job. The only question is how long it takes.

try-job: x86_64-msvc-ext2
2024-09-15 23:56:34 +02:00
bors
5e3ede22ef Auto merge of #129974 - cuviper:ci-llvm-19, r=Mark-Simulacrum
ci: add a runner for vanilla LLVM 19

Ubuntu 24.10 has `llvm-19` packages that we can start testing with.
The `Dockerfile` is otherwise the same as the `llvm-18` runner.
2024-09-14 18:44:23 +00:00
bors
d7522d8726 Auto merge of #128939 - bjorn3:windows_cg_clif_component, r=albertlarsan68
Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in https://github.com/rust-lang/rust/pull/81746#issuecomment-1774099637 are fixed now.
2024-09-09 16:09:06 +00:00
Chris Denton
ebe4fc4e12
Use small runner for msvc-ext2 job 2024-09-09 12:05:29 +00:00
Jubilee
1ea466bdce
Rollup merge of #119229 - mati865:update-mingw-toolchain, r=jieyouxu,petrochenkov
Update mingw-w64 + GNU toolchain

The list of packaged tools and their versions is available at: https://github.com/niXman/mingw-builds-binaries/releases/tag/14.1.0-rt_v12-rev0

Fixes: https://github.com/rust-lang/rust/issues/112368
2024-09-09 00:17:46 -07:00
Chris Denton
0d94e6bac9
Fix bash syntax 2024-09-07 16:36:53 +00:00
Chris Denton
2f6307d1cc
Fix checktools.sh non-msvc builds 2024-09-07 14:58:59 +00:00
Chris Denton
7358429c00
Split x86_64-msvc-ext into two jobs 2024-09-07 14:03:35 +00:00
Matthias Krüger
7d015575ad
Rollup merge of #128928 - ojeda:ci-rfl-more-tools, r=Kobzol
CI: rfl: add more tools and steps

This will add some time for the tool building -- the actual steps should be quick, though, and allows us to cover quite a few more tools and unstable features in use.

Please see the individual commits for a few details.

Cc: `@GuillaumeGomez` `@tgross35`
r? `@Kobzol`
try-job: x86_64-rust-for-linux
2024-09-05 03:47:41 +02:00
Matthias Krüger
8a60d0a5ec
Rollup merge of #101339 - the8472:ci-randomize-debug, r=Mark-Simulacrum
enable -Zrandomize-layout in debug CI builds

This builds rustc/libs/tools with `-Zrandomize-layout` on *-debug CI runners.

Only a handful of tests and asserts break with that enabled, which is promising. One test was fixable, the rest is dealt with by disabling them through new cargo features or compiletest directives.

The config.toml flag `rust.randomize-layout` defaults to false, so it has to be explicitly enabled for now.
2024-09-05 03:47:39 +02:00
Josh Stone
960ec52bcf ci: add a runner for vanilla LLVM 19 2024-09-04 16:47:56 -07:00
bors
842d6fc32e Auto merge of #129356 - nikic:llvm19-host, r=Mark-Simulacrum
Update x86_64-linux host compiler to LLVM 19 rc 3
2024-09-04 02:55:57 +00:00
Mateusz Mikuła
4ee58db2f1 Upgrade CI's mingw-w64 toolchain 2024-09-01 12:37:26 +02:00
The 8472
1e377c5b9f enable layout randomization in x86_64-gnu-llvm-17 CI job 2024-08-31 23:56:45 +02:00
Jubilee Young
8da1c0049a ci: Take tail instead of head to avoid broken pipes 2024-08-30 20:51:52 -07:00
Jubilee Young
6cb4768ddd ci: Avoid legacy backticks in upload-artifacts.sh 2024-08-30 20:51:52 -07:00
Jubilee Young
fe7c97c2e7 ci: Use mv instead of cp in upload step 2024-08-30 20:51:52 -07:00
Jubilee Young
06f49f6d53 ci: Try to remove unused Xcode dirs 2024-08-30 20:51:52 -07:00
Miguel Ojeda
778ff06ba6 CI: rfl: factor out build targets
It will make it easier to add more in the future.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
5c558d3ff4 CI: rfl: add macro expanded source build (-Zunpretty=expanded)
This particular target does not expand into much code, so it is a good
first candidate to see if we could keep this in the CI.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
d584f7099a CI: rfl: add a rustfmt run
This change will also remove the current warnings in the build due to
`rustfmt` not being available (for `bindgen` output):

    error: 'rustfmt' is not installed for the custom toolchain 'local'.
    note: this is a custom toolchain, which cannot use `rustup component add`
    help: if you built this toolchain from source, and used `rustup toolchain link`, then you may be able to build the component with `x.py`
    Failed to run rustfmt: Internal rustfmt error (non-fatal, continuing)

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
824397ddf6 CI: rfl: add a Clippy build
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
d783b1dabd CI: rfl: switch to a stage 2 build
Apparently tools like `rustfmt` require it in order to find the right
`librustc_driver.so` without extra tweaks.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
992dd0bbe3 CI: rfl: add a couple comments to split the steps and document them
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Trevor Gross
e209b05037
Rollup merge of #128935 - lqd:needs-zstd, r=Kobzol
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-27 01:46:50 -05:00
Rémy Rakic
650ba7fdf0 enable llvm.libzstd on test x64 linux builder 2024-08-25 22:17:51 +00:00
Rémy Rakic
62c8c693bd move and rename zstd script
move it where it's used, and name it like the other scripts
2024-08-25 22:17:51 +00:00
Miguel Ojeda
90b4e17a1f CI: rfl: move to temporary commit
Link: https://github.com/rust-lang/rust/pull/129416
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-23 20:52:07 -07:00
Nikita Popov
723609f26e Update x86_64-linux host compiler to LLVM 19 rc 3 2024-08-21 12:11:22 +02:00
bors
45fbf41deb Auto merge of #128722 - tgross35:new-resolver-root, r=Mark-Simulacrum
Switch to using the v2 resolver in most workspaces

Pinning the resolver to v1 was done in 5abff3753a ("Explicit set workspace.resolver ...") in order to suppress warnings. Since there is no specific reason not to use the new resolver and since it fixes issues, change to `resolver = "2"` everywhere except library.
2024-08-19 09:50:33 +00:00
Trevor Gross
582b0a6623
Rollup merge of #129048 - heiher:update-crosstool-loongarch64, r=Mark-Simulacrum
Update `crosstool-ng` for loongarch64

The current cross-compilation toolchain for the LoongArch64 target consists of GCC 13.2.0, Binutils 2.40, and Glibc 2.36. However, Binutils 2.40 has known issues that in broken binaries without any error reports:

- https://github.com/rust-lang/rust/issues/121289
- https://github.com/cross-rs/cross/issues/1538

This patch upgrades the cross-compilation toolchain for the LoongArch64 target to resolve these issues.

- GCC: 13.2.0 -> 14.2.0
- Binutils: 2.40 -> 2.42

The new binaries remain compatible with the existing GCC 13.2.0/Glibc 2.36 distribution, and no issues have been identified.

try-job: dist-loongarch64-linux
2024-08-18 23:41:48 -05:00
Trevor Gross
42b9cb1cb5 Switch to using the v2 resolver in most workspaces
Pinning the resolver to v1 was done in 5abff3753a ("Explicit set
workspace.resolver ...") in order to suppress warnings. Since there is
no specific reason not to use the new resolver and since it fixes
issues, change to `resolver = "2"` everywhere except library and
submodules.
2024-08-18 13:59:09 -05:00
bors
6de928dce9 Auto merge of #126450 - madsmtm:promote-mac-catalyst, r=Mark-Simulacrum
Promote Mac Catalyst targets to Tier 2, and ship with rustup

Promote the Mac Catalyst targets `x86_64-apple-ios-macabi` and `aarch64-apple-ios-macabi` to Tier 2, as per [the MCP](https://github.com/rust-lang/compiler-team/issues/761) (see that for motivation and details).

These targets are now also distributed with rustup, although without the sanitizer runtime, as that currently has trouble building, see https://github.com/rust-lang/rust/issues/129069.
2024-08-18 15:52:58 +00:00
Mads Marquart
3ed63dd843 Promote Mac Catalyst targets to tier 2, and ship with rustup
- aarch64-apple-ios-macabi
- x86_64-apple-ios-macabi
2024-08-14 02:12:14 +02:00
WANG Rui
cebae30f72 Update crosstool-ng for loongarch64
The current cross-compilation toolchain for the LoongArch64 target
consists of GCC 13.2.0, Binutils 2.40, and Glibc 2.36. However, Binutils
2.40 has known issues that in broken binaries without any error reports:

- https://github.com/rust-lang/rust/issues/121289
- https://github.com/cross-rs/cross/issues/1538

This patch upgrades the cross-compilation toolchain for the LoongArch64 target
to resolve these issues.

- GCC: 13.2.0 -> 14.2.0
- Binutils: 2.40 -> 2.42

The new binaries remain compatible with the existing GCC 13.2.0/Glibc 2.36
distribution, and no issues have been identified.
2024-08-13 11:41:37 +08:00
Rémy Rakic
754f565fe2 don't use --rustc-args to test the stdlib's size optimizations feature 2024-08-12 15:28:38 +00:00
bjorn3
2dbc976f5d Distribute rustc_codegen_cranelift for Windows 2024-08-10 21:16:44 +00:00
Kyle Huey
8db318cc96 Install zstd in dist builder image.
Build libzstd from source because the EPEL package is built without fPIC.
2024-08-09 05:55:40 -07:00
Kyle Huey
7bb345e677 Add zlib and zstd dev packages for building lld. 2024-08-09 05:55:40 -07:00
Kyle Huey
6e9afb8dde Enable zstd for debug compression.
Set LLVM_ENABLE_ZSTD alongside LLVM_ENABLE_ZLIB so that --compress-debug-sections=zstd is an option.
Use static linking to avoid a new runtime dependency. Add an llvm.libzstd bootstrap option for LLVM
with zstd. Set it off by default except for the dist builder. Handle llvm-config --system-libs output
that contains static libraries.
2024-08-09 05:55:23 -07:00
Jeff Martin
5db9d43207 Fuchsia Test Runner: enable ffx repository server
The default repository server setting has changed on Fuchsia (default is
newly "false"). Now, in order to start the repository server, the config
`repository.server.enabled` must be set to true.
2024-08-07 16:08:41 -04:00
Amanieu d'Antras
de26ad1a2a Promote riscv64gc-unknown-linux-musl to tier 2 2024-08-03 23:26:10 +01:00
Miguel Ojeda
77cc18fd79 CI: rfl: build the documentation
Since the `rfl` CI job has not had almost any issue for some weeks,
it is a good time to try to increase a bit the scope of what it tests.

The kernel does not use any particular `rustdoc` unstable issue (apart
from the doctests ones) so far, so in principle it should not introduce
extra issues here, and may be a good extra test case for Rust.

In addition, it may help to test new unstable features in the future.

In the worst case, we can revert it.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-07-29 23:19:02 +02:00
Miguel Ojeda
d280b8ca14 CI: rfl: build the generated doctests
We were already generating the doctests, which should already catch most
issues with our hack around `--test-builder` and `--no-run`.

However, we were not building the result of that transformation, thus
build it for completeness and to ensure the hack may not have produced
something completely broken.

In the worst case, we can revert it.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-07-29 23:18:15 +02:00
Matthias Krüger
43c50bc096
Rollup merge of #128322 - ojeda:rfl-ci-update, r=Kobzol
CI: move RFL job forward to v6.11-rc1

The tag has been released today, and since the original hash we had in the Rust CI (which was ~v6.10-rc1), we have accumulated a fair amount of changes and new code.

In particular, v6.11-rc1 is the first Linux tag where the kernel is supporting an actual minimum Rust version (1.78.0), rather than a single version.

---
Let's try to do the move independently first.
r? ``@Kobzol``

try-job: x86_64-rust-for-linux
2024-07-29 11:42:35 +02:00
Miguel Ojeda
41cf8374a6 CI: move RFL job forward to v6.11-rc1
The tag has been released today, and since the original hash we had in
the Rust CI (which was ~v6.10-rc1), we have accumulated a fair amount
of changes and new code.

In particular, v6.11-rc1 is the first Linux tag where the kernel is
supporting an actual minimum Rust version (1.78.0), rather than a
single version.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-07-29 01:02:42 +02:00