With the recent GNU Binutils 2.44 release, one of the changes is worth calling out in its own article: the GNU Gold linker is now officially deprecated and is now being segregated to its own extra Binutils package but risks being removed all together without new developer volunteers stepping up to maintain this linker.
GNU Gold started out the better part of two decades ago by Google for driving faster linking performance than what was available with the GNU linker. GNU Gold served its purpose and demonstrated much faster linking of ELF objects was possible, but it hasn’t seen much development activity in years. Google for their part hasn’t been investing in GNU Gold since they are largely relying on the LLVM toolchain these days and the LLVM linker there tending to outperform both GNU linkers.
The GNU Binutils 2.44 release announcement explained the current situation:
“In a change to our previous practice, in this release the binutils-2.44.tar tarball does not contain the sources for the gold linker. This is because the gold linker is now deprecated and will eventually be removed unless volunteers step forward and offer to continue development and maintenance.
The gold sources can be found in the binutils-with-gold-2.44.tar tarballs. Going forward, odd numbered releases of the binutils (2.45, 2.47, etc) will just have the binutils.2.xx.tar tarballs, whilst even numbered releases will have both the binutils-2.xx.tar and the binutils-with-gold-2.xx.tar tarballs. Eventually this will stop and gold will be dropped altogether.”
So short of some miracle, the GNU Gold linker will likely be dropped altogether in the future without new developers wishing to maintain the code. That may prove difficult with more corporate organizations turning to the LLVM toolchain and those desiring much faster ELF linking performance likely turning to the Mold linker instead of investing resources into speeding up GNU Gold.