Description
When upgrading https://github.com/astral-sh/uv (at 7f3e94a091f9f65b778ccc9ba7271887fad143c8) from Rust 1.86 to Rust 1.87, we found that the s390x-unknown-linux-gnu release build would get stuck at 100% CPU and never finish.
I expected to see this happen: cargo +1.87 build --target s390x-unknown-linux-gnu --release
finishes
Instead, this happened: cargo +1.87 build --target s390x-unknown-linux-gnu --release
gets stuck on 100% CPU
We discovered this in CI, where we're running on the native platform through docker and QEMU, but I can also reproduce this locally using zigbuild:
# Finishes after ~8min
cargo +1.86 zigbuild --target s390x-unknown-linux-gnu --release
# Doesn't finish at all
cargo +1.87 zigbuild --target s390x-unknown-linux-gnu --release
I can't use cargo build
due to an unrelated error on both 1.86 and 1.87 (Relocations in generic ELF (EM: 22)
). Debug builds pass on both versions. Unfortunately I can't provide an MRE as a passing build takes several minutes each time and a non-passing one gets stuck, making non-targeted minimization infeasible.
Version it worked on
It most recently worked on: rustc +1.86 --version --verbose
:
rustc +1.86 --version --verbose
rustc 1.86.0 (05f9846f8 2025-03-31)
binary: rustc
commit-hash: 05f9846f893b09a1be1fc8560e33fc3c815cfecb
commit-date: 2025-03-31
host: x86_64-unknown-linux-gnu
release: 1.86.0
LLVM version: 19.1.7
Version with regression
rustc +1.87 --version --verbose
:
rustc 1.87.0 (17067e9ac 2025-05-09)
binary: rustc
commit-hash: 17067e9ac6d7ecb70e50f92c1944e545188d2359
commit-date: 2025-05-09
host: x86_64-unknown-linux-gnu
release: 1.87.0
LLVM version: 20.1.1