python-build-standalone icon indicating copy to clipboard operation
python-build-standalone copied to clipboard

Remove support for MIPS

Open zanieb opened this issue 1 year ago • 3 comments

This discussion is prompted by https://github.com/python/cpython/issues/127708#issuecomment-2524172362

We do not release or test these distributions, but we build them.

We build the following targets for all Python verisons:

  • mips-unknown-linux-gnu
  • mipsel-unknown-linux-gnu

It also looks like there's support in the code for mips64el-unknown-linux-gnuabi64 but we don't build them in CI.

I don't think these targets merit the compute and maintenance time. I propose just removing them from the project.

Please comment here if you're using these builds.

zanieb avatar Dec 07 '24 16:12 zanieb

Let's just not build stuff in CI unless we release it. If people insist on maintaining build system support for an esoteric config that we don't release, I'm receptive to maintaining 1 CI job to keep us honest about the config working.

FWIW I tried to add support for every architecture supported by Debian. https://cdimage.debian.org/debian-cd/current/ has the list from the current Debian version.

I assume the Debian folks do a reasonable job of supporting common/popular architectures.

If our target is more companies and less enthusiast users, then the set of Linux arches we care about likely reduces to x86-64, aarch64/arm64, and ppc64le (to support IBM servers).

+1 from me on at least deleting most CI for mips and mipsel. I'll let the community speak up on whether we should maintain any support for it at all.

indygreg avatar Dec 07 '24 17:12 indygreg

FWIW I tried to add support for every architecture supported by Debian. https://cdimage.debian.org/debian-cd/current/ has the list from the current Debian version.

This is very helpful context, thank you!

+1 from me on at least deleting most CI for mips and mipsel. I'll let the community speak up on whether we should maintain any support for it at all.

👍 yeah I'm not in a rush here, we can see if there's any community feedback.

zanieb avatar Dec 07 '24 18:12 zanieb

Some additional context on the state of MIPS in Debian at https://wiki.debian.org/MIPSPort

Through the Debian 10 ("buster") release, Debian currently provides 3 ports, 'mips', 'mipsel', and 'mips64el'. The 'mips' and 'mipsel' ports are respectively big and little endian variants, using the O32 ABI with hardware floating point. They use the MIPS II ISA in Jessie and the MIPS32R2 ISA in Stretch and later. The 'mips64el' port is a 64-bit little endian port using the N64 ABI, hardware floating point and the MIPS64R2 ISA.

The 'mips' (32-bit big-endian MIPS CPUs) Debian port was discontinued post Debian 10 ("buster"). Please prepare to migrate your MIPS hardware to mipsel or mips64el, much recent MIPS hardware (such as Octeon CPUs) supports endian switching at runtime and can therefore be supported by the other MIPS ports.

The 'mipsel' (32-bit little-endian MIPS CPUs) Debian port won't be supported by Trixie. CIP United is maintaining an Y2038-fixed, FP64, ?NaN2008 port of mipsel. It is NOT binary compatiable with the current official mipsel port. https://repo.oss.cipunited.com/debian/README.nan2008.txt

zanieb avatar Dec 07 '24 18:12 zanieb