gold (linker)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Ian Lance Taylor
Written in C++
Operating system GNU
Platform x86, x86-64, ARM, PowerPC
Type Linker
License GNU General Public License version 3

gold is a linker for ELF files. It became an official GNU package[1] and was added to binutils on March, 2008[2][3] and first released in binutils version 2.19. Gold was developed by Ian Lance Taylor and a small team at Google.[4] The motivation for writing gold was to make a linker that is faster than the GNU linker,[4] 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.[5]

To specify gold in makefile, set the LD environmental variable to 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.

See also[edit]


  1. ^ "gold README". 2013-02-06. Retrieved 2013-03-06. It is a GNU program, and therefore follows the GNU formatting standards[...] 
  2. ^ "binutils cvs repository". Retrieved 2013-03-06. 
  3. ^ Ian Lance Taylor (2008-03-21). "New ELF linker code added to GNU binutils". binutils mailing list. Retrieved 2013-03-06. 
  4. ^ a b Ian Lance Taylor (2008-04-04). "gold: Google Releases New and Improved GCC Linker". Google Open Source Blog. 
  5. ^ Ian Lance Taylor (2008). A New ELF Linker. GCC Developers' Summit 2008. pp. 129–136. Retrieved 2013-03-06. 

External links[edit]