Hello everyone,
On 2025-02-02, Nick Clifton, the maintainer of GNU binutils, announced
that ld.gold was deprecated
<https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html>
starting in binutils 2.44:
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.
See also the Phoronix article
<https://www.phoronix.com/news/GNU-Gold-Linker-Deprecated>.
Currently most users who use GNUstep with Clang and libobjc2 on
GNU/Linux use ld.gold, and so do packagers.
*Could we use LLD?*
There are some old notes lying around (gnustep-back packaging for
FreeBSD
<https://svnweb.freebsd.org/ports?view=revision&revision=492056>, Wiki
page "Building GNUstep under Debian FreeBSD"
<https://mediawiki.gnustep.org/index.php/Building_GNUstep_under_Debian_FreeBSD> (I
assume this is GNU/kFreeBSD)) that imply that LLD does not work properly
with libobjc2.
Meanwhile, our Windows and Android ports seem to use LLD, and Hugo
Melder's installation guide
<https://github.com/gnustep/documentation/blob/main/guides/building-linux.md> recommends
to use LLD. So it looks like LLD works properly with libobjc2; is this true?
*Could we use Mold?*
Mold is around 4 times faster than LLD, up to 18 times faster than
ld.gold, and up to 31 times faster than ld.bfd. Thus, if we do need to
make any linker changes in order to get a working non-gold linker, it
would probably be a good idea to work on mold. Has anyone tried using
GNUstep with Mold, and are there any issues that pop up?
Thanks,
Ethan Charoenpitaks