From Fedora Project Wiki

Revision as of 13:05, 28 February 2025 by Nickc (talk | contribs)

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