Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove support for MIPS #412

Open
zanieb opened this issue Dec 7, 2024 · 3 comments
Open

Remove support for MIPS #412

zanieb opened this issue Dec 7, 2024 · 3 comments
Labels
platforms Increasing or modifying the set of supported platforms

Comments

@zanieb
Copy link
Member

zanieb commented Dec 7, 2024

This discussion is prompted by python/cpython#127708 (comment)

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.

@indygreg
Copy link
Collaborator

indygreg commented Dec 7, 2024

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.

@zanieb
Copy link
Member Author

zanieb commented Dec 7, 2024

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
Copy link
Member Author

zanieb commented Dec 7, 2024

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

@charliermarsh charliermarsh added the platforms Increasing or modifying the set of supported platforms label Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platforms Increasing or modifying the set of supported platforms
Projects
None yet
Development

No branches or pull requests

3 participants