You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Ian Lance Taylor 0205c1752c Don't write unattached after_input sections twice. 19 years ago
..
po Rewrite workqueue. This version eliminates the master thread, and 19 years ago
testsuite Rewrite workqueue. This version eliminates the master thread, and 19 years ago
Makefile.am Rewrite workqueue. This version eliminates the master thread, and 19 years ago
Makefile.in Rewrite workqueue. This version eliminates the master thread, and 19 years ago
README Initial CVS checkin of gold 20 years ago
aclocal.m4 Can now do a full static link of hello, world in C or C++ 20 years ago
archive.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
archive.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
common.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
common.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
compressed_output.cc Compress all debug sections. 19 years ago
compressed_output.h Compress all debug sections. 19 years ago
config.in From Craig Silverstein: Add support for compressing .debug_str section. 19 years ago
configure From Craig Silverstein: Add support for compressing .debug_str section. 19 years ago
configure.ac From Craig Silverstein: Add support for compressing .debug_str section. 19 years ago
debug.h Add threading support. 19 years ago
defstd.cc Add licensing text to every source file. 19 years ago
defstd.h Add licensing text to every source file. 19 years ago
dirsearch.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
dirsearch.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
dwarf_reader.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
dwarf_reader.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
dynobj.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
dynobj.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
ehframe.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
ehframe.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
errors.cc Add threading support. 19 years ago
errors.h Add threading support. 19 years ago
fileread.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
fileread.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
gold-threads.cc Add threading support. 19 years ago
gold-threads.h Add threading support. 19 years ago
gold.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
gold.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
i386.cc From Cary Coutant: Set DF_STATIC_TLS as appropriate. 19 years ago
layout.cc Don't write unattached after_input sections twice. 19 years ago
layout.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
main.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
merge.cc Print statistics about merge sections with --stats. 19 years ago
merge.h Print statistics about merge sections with --stats. 19 years ago
object.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
object.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
options.cc From Craig Silverstein: Fix error message, add this->. 19 years ago
options.h Fix --thread-count-middle and --thread-count-final. 19 years ago
output.cc Print statistics about merge sections with --stats. 19 years ago
output.h Print statistics about merge sections with --stats. 19 years ago
parameters.cc Compress all debug sections. 19 years ago
parameters.h Compress all debug sections. 19 years ago
pread.c Rework File_read interface. Get file size. Use pread when 19 years ago
readsyms.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
readsyms.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
reloc-types.h Add licensing text to every source file. 19 years ago
reloc.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
reloc.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
resolve.cc From Craig Silverstein: Add support for --demangle. 19 years ago
script-c.h From Craig Silverstein: preliminary support for OPTION in linker script. 19 years ago
script.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
script.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
stringpool.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
stringpool.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc Add section_size_type and section_offset_type, use them to replace a 19 years ago
symtab.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
target-reloc.h From Cary Coutant: Improve i386 shared library TLS support. 19 years ago
target-select.cc Parameterize object_unittest to work for whatever target types are 19 years ago
target-select.h Parameterize object_unittest to work for whatever target types are 19 years ago
target.h Add heuristics for undefined symbol warnings. 19 years ago
tls.h Run all error handling through an Errors object. Delete output file 19 years ago
token.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
version.cc Released gold-alpha 0.9. 19 years ago
workqueue-internal.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
workqueue-threads.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
workqueue.cc Rewrite workqueue. This version eliminates the master thread, and 19 years ago
workqueue.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
x86_64.cc From Cary Coutant: Set DF_STATIC_TLS as appropriate. 19 years ago
yyscript.y From Craig Silverstein: preliminary support for OPTION in linker script. 19 years ago

README

gold is an ELF linker.  It is intended to have complete support for
ELF and to run as fast as possible on modern systems.

It is written in C++. It is (intended to be) a GNU program, and
therefore follows the GNU formatting standards as modified for C++.
Source documents in order of precedence:
http://www.gnu.org/prep/standards/
http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE
http://www.zembu.com/eng/procs/c++style.html

The linker is intended to have complete support for cross-compilation,
which still supporting the normal case of native linking as fast as
possible. This makes the code more complex.

Many functions are actually templates whose parameter is the ELF file
class (e.g., 32 bits or 64 bits). The code is the same, but we don't
want to pay the execution time cost of always using 64-bit integers if
the target is 32 bits.