FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) by mcepl · Pull Request #146420 · python/cpython · GitHub

Repository navigation

[3.14] GH-136895: Update JIT builds to use LLVM 21 (GH-140329) - #146420

Closed
mcepl wants to merge 4 commits into
python:3.14from
openSUSE-Python:3.14-llvm21-compat
Closed

mcepl wants to merge 4 commits into
python:3.14from
openSUSE-Python:3.14-llvm21-compat

Conversation

mcepl commented Mar 25, 2026 •
edited by bedevere-app Bot
Loading

Copy link
Copy Markdown
Contributor

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.

mcepl added 2 commits March 25, 2026 15:14
- 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.
mcepl force-pushed the 3.14-llvm21-compat branch from b6c50f4 to 539f0f1 Compare March 25, 2026 14:14

Copy link
Copy Markdown
Member

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.
mcepl force-pushed the 3.14-llvm21-compat branch from 539f0f1 to 5477f5b Compare March 25, 2026 23:30

Fidget-Spinner commented Mar 26, 2026 •
edited
Loading

Copy link
Copy Markdown
Member

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.

mcepl commented Mar 27, 2026

Copy link
Copy Markdown
Contributor Author

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

mcepl deleted the 3.14-llvm21-compat branch March 27, 2026 07:38

Copy link
Copy Markdown
Member

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.

mcepl commented Mar 27, 2026 via email

Copy link
Copy Markdown
Contributor Author

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants


Back | FazBrowse Home | New Git URL