|Developer(s)||Ian Lance Taylor|
|Platform||x86, x86-64, ARM, PowerPC|
|License||GNU General Public License version 3|
gold is a linker for ELF files. It became an official GNU package and was added to binutils on March, 2008 and first released in binutils version 2.19. Gold was developed by Ian Lance Taylor and a small team at Google. The motivation for writing gold was to make a linker that is faster than the GNU linker, especially for large applications coded in C++.
Unlike the GNU linker, gold doesn't use the BFD library to process object files. While this limits supported formats to ELF only, it's also claimed to result in a cleaner and faster implementation without an additional abstraction layer. Complete removal of BFD was cited as a reason to create a new linker from scratch rather than incrementally improve the GNU linker.
To specify gold in makefile, set the LD environmental variable to ld.gold. To specify gold through a linker option, use an option like ld's -fuse-ld=gold. To specify gold through a compiler driver like GCC, use a command line option -Wl,-fuse-ld=gold.
- GNU binutils
- GNU linker
- Comparison of executable file formats, also for PE/COFF (Windows), and Mach-O (Mac OS X) formats.
- "gold README". 2013-02-06. Retrieved 2013-03-06.
It is a GNU program, and therefore follows the GNU formatting standards[...]
- "binutils cvs repository". Retrieved 2013-03-06.
- Ian Lance Taylor (2008-03-21). "New ELF linker code added to GNU binutils". binutils mailing list. Retrieved 2013-03-06.
- Ian Lance Taylor (2008-04-04). "gold: Google Releases New and Improved GCC Linker". Google Open Source Blog.
- Ian Lance Taylor (2007-08-22). "Linkers part 1".
- Jake Edge (2008-03-26). "Striking gold in binutils". LWN.net. Retrieved 2010-12-09.
- "The LLVM gold plugin".
- Cary Coutant (2012-04-05). "Incremental Linking with Gold" (PDF). Linux Foundation Collaboration Summit.
- "Incremental Linking with Gold". 2012 Linux Foundation Collaboration Summit. 2012-04-11.
|This programming-tool-related article is a stub. You can help Wikipedia by expanding it.|