-
-
Notifications
You must be signed in to change notification settings - Fork 172
Description
RHEL llvm-toolset and rust-toolset packages are version‑coupled. For example, installing llvm-toolset-19.1.7 brings in Rust 1.84.1. Currently the ppc64 and s390x platforms are using Rust 1.84, which still ships with libadler. Starting with Rust 1.86, this changes to libadler2.
The Chromium build repository currently has this logic to work around the mismatch, since our toolchain is older than Chromium upstream:
if (rustc_nightly_capability) {
stdlib_files += [ "adler2" ]
} else {
stdlib_files += [ "adler" ]
}
The issue now is that AIX is also moving to Rust 1.86, which uses libadler2, but AIX still falls into the else branch because it does not use the Chromium toolchain. That means this logic no longer works for AIX.
To avoid having to maintain libadler for different Rust versions upstream, we need to upgrade our toolchain to Rust 1.86+ and fully remove that if/else block.
On RHEL, upgrading Rust to 1.88 also means upgrading our llvm-toolset (Clang) to version 20, since Rust and LLVM are version‑coupled there.
Furthermore Libc++ now only supports Clang 20 and later: llvm/llvm-project#165684
Chromium upstream is also already using Clang 23, so an upgrade may need to be performed down the road regardless.