-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
GH-141362: Make get_externals handle fetching platform-specific release artifacts
#142405
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
GH-141362: Make get_externals handle fetching platform-specific release artifacts
#142405
Conversation
Co-authored-by: Steve Dower <[email protected]>
|
I have a comment not related to this PR, but I just want to have your input @zooba
This is fair but what about running on a true 32-bit OS? I see I'm more than happy to move the conversation on DPO if you think we need more discussion. |
Yeah, especially since the JIT is having a hard time on x86 due to spilling (because there are so few registers). @brandtbucher 's PR for preserve_none x86 llvm/llvm-project#150106 will help, but it seems stalled. Tailcalling doesn't work on Windows x86 (upcoming #139962), because MSVC doesn't support it for x86 (at least not in VS 2026, no idea whether this will ever be supported). There was a long discussion in https://discuss.python.org/t/consider-downgrading-windows-32-bit-from-tier-1-to-tier-2-or-tier-3-in-python-3-13/33719, but the outcome was to keep Windows x86 in tier-1. And the 32bit installer link was ranked after the 64bit installer on python.org so unaware people less likely choose it over 64bit 🚀
Even though Windows 10 is EOL (which was the last one where you could choose between 32bit/64bit when installing) and Windows 11 is 64bit only during installing, there is the compatibility layer to run 32bit software in 64bit Windows.
One outcome in the above discussion was, that 1
This might no longer be true for the JIT? Footnotes |
diegorusso
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Savannah for your patience on getting this implemented. I think it behaves as it should be and LGTM. I prefer though if you have the blessing of some Windows expert :)
|
LGTM. Maybe we can somewhere document that Sorry to be picky. Final decision is anyway up to Steve ... |
Co-authored-by: Chris Eibl <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Savannah!
|
Thanks for reviewing @chris-eibl! Appreciate it! |
|
Given that this has gotten a stamp from Diego and Chris (and I know Steve is out for quite some time), I will merge this. I am happy to revisit any and all parts if there is additional feedback! Thank you all for the reviews! |
This PR adds support for downloading platform-specific LLVM binaries (AMD64, ARM64) instead of using a single binary with emulation (see https://github.com/python/cpython-bin-deps/releases/tag/llvm-21.1.4.0 for release artifacts). Since this won't naturally trigger
jit.yml, you can see a successful run here, including print statements to show that we are in fact downloading the correct binary 😄.get_externalshandle fetching platform-specific release artifacts #141362