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.
RHEL
llvm-toolsetandrust-toolsetpackages are version‑coupled. For example, installingllvm-toolset-19.1.7brings in Rust1.84.1. Currently the ppc64 and s390x platforms are using Rust1.84, which still ships withlibadler. Starting with Rust1.86, this changes tolibadler2.The Chromium build repository currently has this logic to work around the mismatch, since our toolchain is older than Chromium upstream:
The issue now is that AIX is also moving to Rust
1.86, which useslibadler2, 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
libadlerfor different Rust versions upstream, we need to upgrade our toolchain to Rust1.86+and fully remove that if/else block.On RHEL, upgrading Rust to
1.88also means upgrading our llvm-toolset (Clang) to version20, 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.