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:
- 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:
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)