From Fedora Project Wiki
(Created page with "{{admon/important | 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.<br/> '''Copy the source to a ''new page'' before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}} {{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/change...")
 
No edit summary
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{admon/important | 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.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}}
   
 
= Deprecate The Gold Linker =
{{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/changes_guide/ documentation].}}
 
{{admon/tip | Report issues | To report an issue with this template, file an issue in the [https://pagure.io/fedora-pgm/pgm_docs pgm_docs repo].}}
 
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace -->
 
= Change Proposal Name <!-- The name of your change proposal --> =
 
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
The goal of this change is to deprecate the binutils-gold subpackage of the binutils package. This will allow its eventual removal from Fedora.


== Owner ==
== Owner ==
<!--
* Name: Nick Clifton
For change proposals to qualify as self-contained, owners of all affected packages need to be included here. Alternatively, a SIG can be listed as an owner if it owns all affected packages.
* Email: nickc@redhat.com
This should link to your home wiki page so we know who you are.
-->
* Name: [[User:FASAccountName| Your Name]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
 


== Current status ==
== Current status ==
Line 34: Line 16:
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->


<!-- Select proper category, default is Self Contained Change -->
[[Category:SystemWideChange]]
[[Category:SelfContainedChange]]
<!-- [[Category:SystemWideChange]] -->


* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f<VERSION>/ Fedora Linux <VERSION>]
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f43/ Fedora Linux 43]
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 53: Line 33:


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriateA couple sentences suffices to explain the goal, but the more details you can provide the better. -->
The GOLD linker is no longer being developed in the upstream GNU Binutils projectGiven that there are now four linkers available to Fedora users (ld.bfd, ld.gold, lld, mold) deprecating one of them should not cause a lot of disruption and should reduce the maintenance burden for the binutils maintainers.


== Feedback ==
== Feedback ==
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
I reached out to the maintainers of the packages that currently use gold.  Almost all of them were willing to switch to another linker immediately:
* ghc
  No longer uses gold.
* llvm
  Uses gold for tests.  Willing to change.
* meson     
  Only used for testing.  Willing to drop as the test is not gold specific.
* perfetto
  Uses gold.  Might be a hard req.  Maintainers checking with upstream developers.
* pypy3.10
  Willing to drop.  Test build in a PR to make this change succeeded. https://src.fedoraproject.org/rpms/pypy3.10/pull-request/33
* python-torch
  No longer uses gold.
* qt5-qtwebengine 
  Willing to switch to another linker if it works
* rust
  Gone as of rust-1.85.0-2.fc43
* swift-lang
  Uses gold.  Package might become deprecated.


== Benefit to Fedora ==
== Benefit to Fedora ==

Revision as of 13:05, 28 February 2025

Deprecate The Gold Linker

Summary

The goal of this change is to deprecate the binutils-gold subpackage of the binutils package. This will allow its eventual removal from Fedora.

Owner

  • Name: Nick Clifton
  • Email: nickc@redhat.com

Current status

  • Targeted release: Fedora Linux 43
  • Last updated: 2025-02-28
  • [<link to devel-announce post will be added by Wrangler> Announced]
  • [<will be assigned by the Wrangler> Discussion 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

The GOLD linker is no longer being developed in the upstream GNU Binutils project. Given that there are now four linkers available to Fedora users (ld.bfd, ld.gold, lld, mold) deprecating one of them should not cause a lot of disruption and should reduce the maintenance burden for the binutils maintainers.


Feedback

I reached out to the maintainers of the packages that currently use gold. Almost all of them were willing to switch to another linker immediately:

  • ghc
 No longer uses gold.
  • llvm
 Uses gold for tests.  Willing to change.
  • meson
 Only used for testing.  Willing to drop as the test is not gold specific.
  • perfetto
 Uses gold.  Might be a hard req.  Maintainers checking with upstream developers.
  • pypy3.10
 Willing to drop.  Test build in a PR to make this change succeeded. https://src.fedoraproject.org/rpms/pypy3.10/pull-request/33
  • python-torch
 No longer uses gold.
  • qt5-qtwebengine
 Willing to switch to another linker if it works
  • rust
 Gone as of rust-1.85.0-2.fc43
  • swift-lang
 Uses gold.  Package might become deprecated.


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 the Fedora Strategy:

Upgrade/compatibility impact

Early Testing (Optional)

Do you require 'QA Blueprint' support? Y/N

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