Commit graph

2342 commits

Author SHA1 Message Date
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
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
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
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
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
MarcoIeni
d4dce76e19
ci: move dist-x86_64-msvc to windows 2025 2025-02-03 12:26:26 +01:00
bors
e1f09207fb Auto merge of #136433 - matthiaskrgr:rollup-co27itw, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
 - #136133 (Fix sentence in process::abort)
 - #136279 (Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs)
 - #136328 (Rework "long type names" printing logic)
 - #136358 (`#[optimize(none)]` implies `#[inline(never)]`)
 - #136368 (Make comma separated lists of anything easier to make for errors)
 - #136412 (Tweak fn pointer suggestion span)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-02 13:38:43 +00:00
Matthias Krüger
78794d0f88
Rollup merge of #133266 - mati865:windows-gnu-llvm-download, r=Kobzol
ci: fix explanation why LLVM download is disabled for windows-gnu

Continuation of https://github.com/rust-lang/rust/pull/132781
2025-02-02 12:31:54 +01:00
bors
6dd75f0d68 Auto merge of #136238 - marcoieni:free-disk-refactor, r=Kobzol
ci: refactor how directories are removed in free-disk-space disk

try-job: aarch64-gnu
2025-02-02 10:51:49 +00:00
bors
e08cd3cf05 Auto merge of #136136 - marcoieni:ubuntu-24, r=Kobzol
ci: use ubuntu 24 on free runners

try-job: aarch64-gnu
try-job: aarch64-gnu-debug
2025-02-01 11:46:40 +00:00
Mads Marquart
9fa819ef94 Update deployment target setup in jobs.yml
Note that specifying MACOSX_STD_DEPLOYMENT_TARGET is still completely
unnecessary here, but it's nice to have for future changes where we
might want to version `std` and `rustc`'s deployment target separately.
2025-01-31 04:26:19 +01:00
MarcoIeni
053fa1c933
ci: refactor how directories are removed in free-disk-space disk 2025-01-30 15:06:23 +01:00
MarcoIeni
aeabd4bebe
ci: use windows 2025 for i686-mingw 2025-01-29 21:26:39 +01:00
bors
0cc4f4f7b8 Auto merge of #136248 - matthiaskrgr:rollup-leaxgfd, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #133382 (Suggest considering casting fn item as fn pointer in more cases)
 - #136092 (Test pipes also when not running on Windows and Linux simultaneously)
 - #136190 (Remove duplicated code in RISC-V asm bad-reg test)
 - #136192 (ci: remove unused windows runner)
 - #136205 (Properly check that array length is valid type during built-in unsizing in index)
 - #136211 (Update mdbook to 0.4.44)
 - #136212 (Tweak `&mut self` suggestion span)
 - #136214 (Make crate AST mutation accessible for driver callback)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-29 16:18:29 +00:00
Matthias Krüger
936554756b
Rollup merge of #136192 - marcoieni:remove-windows-unused-runner, r=Kobzol
ci: remove unused windows runner
2025-01-29 15:29:37 +01:00
León Orell Valerian Liehr
3cc6ea2ac6
Rollup merge of #136161 - notriddle:typescript, r=GuillaumeGomez
rustdoc: add nobuild typescript checking to our JS

By nobuild, I mean that the type annotations are all [in comments], not in the "native" typescript syntax. This is a bit uglier, but it lets you rapid-prototype without tsc, works with all the native browser debugging tools, and keeps Node out of Rust's bootstrap chain.

[in comments]: https://news.ycombinator.com/item?id=35892250

This pull request mostly just adds ts-ignore annotations and type declarations. To actually take good advantage of typescript, we'll want to "burn down" this pile of unsafe code until we eventually have a version with almost none of these.

This PR also adds tsc to the mingw-check Dockerfile, so that it can't fall out of date like the Closure annotations did.

https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript

r? `@GuillaumeGomez` `@lolbinarycat`
2025-01-29 06:03:22 +01:00
MarcoIeni
6509596dd7
ci: remove unused windows runner 2025-01-28 16:02:38 +01:00
Michael Howell
d94b64dcef rustdoc: add nobuild typescript checking to our JS
By nobuild, I mean that the type annotations are all in comments,
not in the "native" typescript syntax. This is a bit uglier,
but it lets you rapid-prototype without tsc, works with all
the native browser debugging tools, and keeps Node out of Rust's
bootstrap chain.

This pull request mostly just adds ts-ignore annotations
and type declarations. To actually take good advantage of
typescript, we'll want to "burn down" this pile of unsafe code
until we eventually have a version with almost none of these.

This PR also adds tsc to the mingw-check Dockerfile, so that
it can't fall out of date like the Closure annotations did.

https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript
2025-01-27 19:20:09 -07:00
Ben Kimock
1f4309cec4 Fix 2/4 tests skipped by opt-dist 2025-01-27 16:06:30 -05:00