Skip to content

powerpc64-unknown-linux-musl target data-layout does not match LLVM, making the target useless #119910

Closed
@saethlin

Description

@saethlin
cargo +nightly build -Zbuild-std=core --target=powerpc64-unknown-linux-musl
error: internal compiler error: compiler/rustc_codegen_llvm/src/context.rs:178:13: data-layout for target
`powerpc64-unknown-linux-musl`,
`E-m:e-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512`, differs from
LLVM target's `powerpc64-unknown-linux-musl` default layout,
`E-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512`

(wrapped by hand to make the problem clear)

The function pointer alignment is the same as our powerpc64-unknown-linux-gnu target, so the discrepancy must be in LLVM.

While this is a tier 3 target, we are completely unable to generate code for it, so at some point this part of the target tier policy will become relevant (emphasis mine):

If a tier 3 target stops meeting these requirements, or the target maintainers no longer have interest or time, or the target shows no signs of activity and has not built for some time, or removing the target would improve the quality of the Rust codebase, we may post a PR to remove it; any such PR will be CCed to the target maintainers (there are none, not even for the Tier 2 -gnu variant) (and potentially other people who have previously worked on the target), to check potential interest in improving the situation.


I have trawled the issue tracker and I cannot find any evidence that this target is in use; all issues seem related to powerpc-unknown-linux-gnu or the powerpc64le- targets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️O-PowerPCTarget: PowerPC processorsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions