Uh oh!
There was an error while loading. Please reload this page.
[3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) - #146420
[3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329)#146420mcepl wants to merge 4 commits into
Conversation
- Enable x86_64 trampoline support on all x86_64 platforms, not just macOS. While currently only macOS emits X86_64_RELOC_BRANCH relocations, this ensures the trampoline infrastructure is ready if future LLVM changes produce out-of-range calls on other x86_64 platforms. - Add error handling to extract_tarball() in get_external.py so that corrupted or incomplete downloads produce a clear error message instead of an opaque traceback. - Replace hardcoded LLVM version check in get_externals.bat with a prefix-based 'llvm-' match using findstr, so future LLVM version bumps only require changing the version string in one place.
Fidget-Spinner
commented
Mar 25, 2026
I don't think we can do this. Changing a build dependency in a patch release of 3.14 is very strange and usually not allowed. |
Bump the JIT toolchain from LLVM 20 to LLVM 21 (21.1.8). Updated across CI workflows, build scripts, documentation, and the externals tag.
Really sorry. Unless there's strong reasons to do so (e.g. security), this isn't possible I think. |
mcepl
commented
Mar 27, 2026
Oh well, point taken. Could I at least ask for the review of the patch (partciularly |
chris-eibl
commented
Mar 27, 2026
If you care about Windows, I'd consider including #142052. |
mcepl
commented
Mar 27, 2026
via email
On Fri Mar 27, 2026 at 8:47 AM CET, Chris Eibl wrote:
If you care about Windows, I'd consider including #142052. I am a maintainer of Python for SUSE; no, I don’t care about Windows at all, I was trying to fix those GitHub Actions just so that this PR would be acceptable. |
Backport of GH-140329 to 3.14, with the addition of:
Enable x86_64 trampoline support on all x86_64 platforms, not just
macOS. While currently only macOS emits X86_64_RELOC_BRANCH
relocations, this ensures the trampoline infrastructure is ready if
future LLVM changes produce out-of-range calls on other x86_64
platforms.
Add error handling to extract_tarball() in get_external.py so that
corrupted or incomplete downloads produce a clear error message
instead of an opaque traceback.
Replace hardcoded LLVM version check in get_externals.bat with
a prefix-based 'llvm-' match using findstr, so future LLVM version
bumps only require changing the version string in one place.
Also, bump the JIT toolchain from LLVM 20 to LLVM 21 (21.1.8). Updated across
CI workflows, build scripts, documentation, and the externals tag.