Skip to content

ci: Test powerpc64-unknown-linux-musl in tier 2#4983

Draft
Gelbpunkt wants to merge 1 commit intorust-lang:mainfrom
Gelbpunkt:ppc64-musl-tier2
Draft

ci: Test powerpc64-unknown-linux-musl in tier 2#4983
Gelbpunkt wants to merge 1 commit intorust-lang:mainfrom
Gelbpunkt:ppc64-musl-tier2

Conversation

@Gelbpunkt
Copy link
Contributor

Description

Since 1.95.0, this is now a tier 2 target.

Sources

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI

Since 1.95.0, this is now a tier 2 target.
@rustbot rustbot added A-CI Area: CI-related items S-waiting-on-review labels Feb 18, 2026
@Gelbpunkt Gelbpunkt marked this pull request as draft February 18, 2026 03:26
@Gelbpunkt
Copy link
Contributor Author

This is going to be a bit of fun, since the Ubuntu cross compilation toolchain is for ELFv1. We'll have to compile libgcc ourselves or just start using the Rust CI images that contain ready-to-use toolchains.

@tgross35
Copy link
Contributor

tgross35 commented Mar 2, 2026

Could you say a bit more about where the mismatch comes from? I'm not sure why -musl hits the issue but -gnu isn't.

Using a prebuilt toolchain specifically for this target sounds nicer if possible, as long setup isn't too crazy.

@Gelbpunkt
Copy link
Contributor Author

Gelbpunkt commented Mar 3, 2026

Could you say a bit more about where the mismatch comes from? I'm not sure why -musl hits the issue but -gnu isn't.

The -musl target uses the ELFv2 ABI, while the -gnu target uses ELFv1. Ubuntu's toolchain can be forced to compile for ELFv2 with -mabi=elfv2, but the libgcc.a it bundles is for ELFv1 and cannot be linked together with ELFv2 objects.

Using a prebuilt toolchain specifically for this target sounds nicer if possible, as long setup isn't too crazy.

Rustup does this, they have a shell script to fetch the Docker base images from the r-l/r CI and use that for getting a ready to use toolchain.

@tgross35
Copy link
Contributor

tgross35 commented Mar 3, 2026

Does linking with musl-gcc happen to work? I think it's in the musl-tools package and might be a bit easier.

Any idea if debian is going to move to elfv2 at some point? It seems like support for elfv1 is pretty poor at this point.

@Gelbpunkt
Copy link
Contributor Author

Does linking with musl-gcc happen to work? I think it's in the musl-tools package and might be a bit easier.

No, the musl-gcc on x86_64 cannot target big-endian powerpc64 and there are no musl cross compilers packaged as far as I can tell.

Any idea if debian is going to move to elfv2 at some point? It seems like support for elfv1 is pretty poor at this point.

No idea, I'm not really interested or involved in Debian...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants