GeezerVison is showing github.com — [3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) by mcepl · Pull Request #146420 · python/cpython
Conversation
mcepl
commented
Mar 25, 2026
•
edited by bedevere-app
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
Backport of GH-140329 to 3.14, with the addition of:
- JIT: harden LLVM 20 upgrade with defensive improvements
-
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.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
- 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.
|
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.
|
savannahostrowski reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Bump the JIT toolchain from LLVM 20 to LLVM 21 (21.1.8). Updated
across CI workflows, build scripts, documentation, and the externals
tag.
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.
Really sorry. Unless there's strong reasons to do so (e.g. security), this isn't possible I think.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Oh well, point taken. Could I at least ask for the review of the patch (partciularly
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Could I at least ask for the review of the patch
If you care about Windows, I'd consider including #142052.
But as @Fidget-Spinner said, updating LLVM in 3.14 is too big of a change.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
|
chris-eibl reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|