Skip to content

Cross-compile ARM, PowerPC, and s390x with LLVM. Remove MIPS targets - #1349

Merged
jjhelmus merged 3 commits into
mainfrom
jjh/cross_others
Oct 22, 2026
Merged

jjhelmus merged 3 commits into
mainfrom
jjh/cross_others

Conversation

@jjhelmus

Copy link
Copy Markdown
Contributor

Use LLVM and lld to cross build both ARMv7, ppc64le and s390x targets. Use a Stretch sysroot for glibc compatibility.

Remove support for building for MIPS targets.

Follow up to #1334

Remove the MIPS target definitions and cross-compiler packages, along
with MIPS-specific build configuration and validation rules.
Cross-compile both ARMv7, ppc64le and s390x targets with the llvm bundle
using lld for linking.

Use a Stretch sysroot for glibc compatibility.

Remove obsolete linker workarounds.
@jjhelmus jjhelmus added platform:linux Specific to the Linux platform arch:armv7 arch:s390x arch:ppc64le python:all Select all Python versions build:all labels Oct 20, 2026
@jjhelmus
jjhelmus requested review from EliteTK and zanieb October 20, 2026 17:36
@zanieb

zanieb commented Oct 21, 2026

Copy link
Copy Markdown
Member

Codex found a deranged issue?

[P1] Restore the ARM floating-point and SIMD baselines — targets.yml:222, also line 285.

The bundled Clang defaults to VFPv3, D32, and NEON for both ARM triples. Consequently, both Python 3.14 noopt artifacts crash with SIGILL before printing python -V on Cortex-A9 emulation with NEON/D32 disabled. The soft-float artifact also requires hardware floating point, contradicting its documented purpose.

@jjhelmus

Copy link
Copy Markdown
Contributor Author

Codex found a deranged issue?

This is valid concern. The Clang target is looser than the Debian cross-compiler that it replaces. Explicit flags can be used to target the appropriate ARM target, which the GCC cross-compilers have baked in at build time.

@jjhelmus
jjhelmus merged commit dd882cd into main Oct 22, 2026
136 checks passed
@jjhelmus
jjhelmus deleted the jjh/cross_others branch October 22, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arch:armv7 arch:ppc64le arch:s390x build:all platform:linux Specific to the Linux platform python:all Select all Python versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants