build: enable cross-language LTO on linux aarch64-musl (#31432)
The `crossLangLto` gate for aarch64-musl dates from CI build #53109: LLVM's `globalopt` pass segfaulted on the per-crate `bun_runtime` bitcode module during the merged link. That bitcode shape no longer exists — since #31412 the Rust side reaches the link as **one fat, pre-merged module** (`CARGO_PROFILE_RELEASE_LTO=fat` + the regular-LTO summary fix-up), and #31412 explicitly flagged lifting this gate as the follow-up. This removes the gate and the `globalopt-crash-aarch64-musl` workarounds.ts entry, so `bun-linux-aarch64-musl` gets the same Rust↔C++ cross-language inlining as the other ELF release targets (it also picks up `-Cforce-unwind-tables=no`, which matters most on musl since that binary keeps `.eh_frame`). **The `linux-aarch64-musl` build + test lanes on this PR are the actual test.** If the link still segfaults in `globalopt` (or the binary misbehaves), close this PR — the workaround stays and the entry should get the reduced repro filed upstream instead.
J
Jarred Sumner committed
c78d08ff2edf51a01158bffbac304df2e5e3d887
Parent: a6a5614
Committed by GitHub <noreply@github.com>
on 5/26/2026, 9:24:06 PM