From Fedora Project Wiki

No edit summary
No edit summary
Line 6: Line 6:


Incompatibilities between GNU ld and Gold:  [[GoldIncompatibilities]]
Incompatibilities between GNU ld and Gold:  [[GoldIncompatibilities]]
The first project is to identify and fix packages relying on the old linker's incorrect symbol resolution.  We plan to disable the incorrect symbol resolution (by adding "--no-add-needed" to GCC's link_spec or changing the old linker's default behavior), then run a full build of the Fedora packages.  That will identify packages directly relying on the incorrect behavior and allow maintainers to fix those packages.
It may also be necessary to compare package build logs before/after that change to detect any cases where autoconf was relying on this broken behavior and is now generating sub-optimal configurations.   
In parallel we are adding the capability to install Gold alongside the old GNU linker.  We're hoping developers will start to use Gold and report back results (positive and negative).

Revision as of 16:54, 3 November 2009

Ian Taylor from Google has created a replacement for the GNU linker called Gold. The stated goal of Gold is to dramatically improve link times for large C++ applications. Reports of 5X improvement in link times for large (say 800M) C++ applications have been reported.

This page is meant to document our transition plan to replace the old gnu linker with Gold.

Gold's initial announcement: http://sourceware.org/ml/binutils/2008-03/msg00162.html

Incompatibilities between GNU ld and Gold: GoldIncompatibilities


The first project is to identify and fix packages relying on the old linker's incorrect symbol resolution. We plan to disable the incorrect symbol resolution (by adding "--no-add-needed" to GCC's link_spec or changing the old linker's default behavior), then run a full build of the Fedora packages. That will identify packages directly relying on the incorrect behavior and allow maintainers to fix those packages.

It may also be necessary to compare package build logs before/after that change to detect any cases where autoconf was relying on this broken behavior and is now generating sub-optimal configurations.


In parallel we are adding the capability to install Gold alongside the old GNU linker. We're hoping developers will start to use Gold and report back results (positive and negative).