F43 Change Proposal: LLVM 21 (system-wide)

LLVM 21

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

Update all llvm sub-projects in Fedora Linux to version 21.

:link: Owner

:link: Detailed Description

All llvm sub-projects in Fedora will be updated to version 21. There will be a soname version change for the llvm libraries, and an llvm20 compat package added to ensure that packages that currently depend on clang and llvm version 20 libraries will continue to work.

Other notable changes:

:link: Planned Schedule

Our plan is to push 21.1.0 into Fedora 43 during the Beta Freeze with a Beta Freeze exception.

We are not planning to push earlier release candidates into rawhide because the library ABI is not stabilized until the final 21.1.0 release.

:link: Important Dates

  • July 18: Begin building LLVM 21.1.0-rc1 in COPR.
  • Jul 29: Begin building LLVM 21.1.0-rc2 in COPR.
  • Aug 12: Begin building LLVM 21.1.0-rc3 in COPR.
  • Aug 12: Fedora f43 branches created
  • Aug 26: Begin building LLVM 21.1.0 in Rawhide and 43 side-tags.
  • Aug 26: Fedora f43 Beta Freeze
  • Aug 26 → Sept 16: Request a Beta Freeze exception for LLVM.
  • Oct 7: Fedora f43 Final Freeze

:link: Feedback

:link: Benefit to Fedora

New features and bug fixes provided by the latest version of LLVM plus better performance for LLVM components through PGO optimizations.

:link: Scope

  • Proposal owners:

    • Build and test release candidates of LLVM 21 in COPR.
    • Build and test final release of LLVM 21 in koji.
  • Other developers:

    • Fix build issues found with LLVM-21 or switch their package to use the llvm20 compat libs. The LLVM team will not block Bodhi updates on dependent packages that fail to build or run with LLVM-21. There should be around ~12 weeks between when -rc1 lands in COPR and the Final Freeze for package maintainers to fix issues uncovered with the LLVM-21 update.
  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy:

:link: Upgrade/compatibility impact

:link: Early Testing (Optional)

Do you require ‘QA Blueprint’ support? N

:link: How To Test

The CI tests for the llvm sub-packages in Fedora will be used to catch regressions that might be potentially introduced by the update to LLVM 21.

:link: User Experience

:link: Dependencies

:link: Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change) If there are major problems with LLVM 21, the compatibility package provide a way for other packages to continue using LLVM 20.
  • Contingency deadline: Final Freeze
  • Blocks release? No

:link: Documentation

LLVM sub-projects in Fedora have been updated to version 21:

  • llvm (now includes polly, llvm-bolt, libcxx, mlir)
  • flang
  • libclc
  • llvm-test-suite

:link: Release Notes

Last edited by @amoloney 2025-07-03T19:18:34Z

Last edited by @amoloney 2025-07-03T19:18:34Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

Will you package llvm21 and clang21 for older Fedoras as well?

No, we don’t have plans to do that for older Fedoras.

Is this the new flang compiler or are we still building the older one?

Can you be more specific? There have been so many iterations of flang, I’ve lost track of which is old and which is new. But if it helps, the source for the flang we are shipping is here: llvm-project/flang at main · llvm/llvm-project · GitHub

This change proposal has now been submitted to FESCo with ticket #3443 for voting.

To find out more, please visit our Changes Policy documentation.