From Fedora Project Wiki
Line 52: Line 52:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
All llvm sub-projects in Fedora will be updated to version 18, and there will be a soname version change for the llvm libraries. Compatibility packages clang17, llvm17, and lld17 will be added to ensure that packages that currently depend on clang and llvm version 17 libraries will continue to work.
All llvm sub-projects in Fedora will be updated to version 18, and there will be a soname version change for the llvm libraries. Compatibility packages clang17, llvm17, and lld17 will be added to ensure that packages that currently depend on clang and llvm version 17 libraries will continue to work. These older compatibility packages will be orphaned:
 
* llvm14
* llvm15
* llvm16
* clang14
* clang15
* clang16
* lld14
* lld15
* lld16


Other notable changes:  
Other notable changes:  

Revision as of 21:52, 15 December 2023

Important.png
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.
Idea.png
Guidance
For details on how to fill out this form, see the documentation.
Idea.png
Report issues
To report an issue with this template, file an issue in the pgm_docs repo.


LLVM 18

Important.png
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.

Summary

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

Owner

Current status

  • Targeted release: Fedora Linux 40
  • Last updated: 2023-12-15
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

All llvm sub-projects in Fedora will be updated to version 18, and there will be a soname version change for the llvm libraries. Compatibility packages clang17, llvm17, and lld17 will be added to ensure that packages that currently depend on clang and llvm version 17 libraries will continue to work. These older compatibility packages will be orphaned:

  • llvm14
  • llvm15
  • llvm16
  • clang14
  • clang15
  • clang16
  • lld14
  • lld15
  • lld16

Other notable changes:

  • clang will emit DWARF-5 by default instead of DWARF-4. This matches the upstream default. We have been using DWARF-4 as the default for the last few releases due to: https://bugzilla.redhat.com/show_bug.cgi?id=2064052
  • [UNCONFIRMED] The compatibility packages will now include the same content as the main package. In previous releases, the compat packages contained only libraries and headers. The binaries and other content was stripped out.
  • [UNCONFIRMED] We will be adding an llvm19 package to rawhide which will be used to package periodic snapshots from upstream LLVM. We are also investigating switching to python-like parallel versions for Fedora 41, and if we decided to do this, then llvm19 will become the 'main' llvm package in Fedora 41.
  • [UNCONFIRMED] We will be enabling the FAT LTO feature.

Feedback

Benefit to Fedora

Scope

  • Proposal owners:
  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

How To Test

User Experience

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No


Documentation

N/A (not a System Wide Change)

Release Notes