test(ppc64): enable ppc64le in the test harness and CI#2003
Merged
Conversation
Member
|
Please create a new section for ppc64 in |
Add the Ppc64 architecture to the test harness: powerpc64le target triple, -m elf64lppc emulation, the ld64.so.2 dynamic linker, the cross-toolchain prefix and native-host detection. linker-diff support is still required before the tests can actually run.
Add ArchKind::Ppc64 and a linker-diff ppc64 module (objdump-based instruction decoding via -m powerpc:common64; no relaxations or PLT decoding yet), wired into the diff dispatch, objdump selection and EM_PPC64 detection, plus DynamicRelocationKind::from_ppc64_r_type. Also pass --endian=little to objdump unconditionally: every target we support is little-endian, but the generic powerpc:common64 machine defaults to big-endian and would otherwise disassemble garbage.
The perf module is only available on linux x86_64/aarch64; other linux targets alias perf_unsupported as perf. powerpc64 was missing from that list, so libwild failed to build natively on ppc64le.
The no-libc test runtime needs two per-arch bits on ppc64le: an exit_syscall stub, and a memcpy (ppc64le gcc lowers large aggregate initialisers to a memcpy call where the other targets inline it).
36a9660 to
21b7b4e
Compare
davidlattimore
approved these changes
May 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR wires ppc64le into the integration-test harness, linker-diff, and CI so the port is actually covered, and installs the cross toolchain so it runs in GitHub Actions under qemu.