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 8b105e34ed * x86_64.cc: Correct license to GPLv3. 19 years ago
..
po Bump version for general release. 19 years ago
testsuite Make sure the start and size of the TLS segment are aligned. 19 years ago
ChangeLog * x86_64.cc: Correct license to GPLv3. 19 years ago
Makefile.am Add support for --format binary for input files. 19 years ago
Makefile.in Don't get confused about whether a symbol is the default version if we 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 Update copyright years. Update language files. 19 years ago
archive.h Update copyright years. Update language files. 19 years ago
binary.cc Add support for --format binary for input files. 19 years ago
binary.h Add support for --format binary for input files. 19 years ago
common.cc Update copyright years. Update language files. 19 years ago
common.h Update copyright years. Update language files. 19 years ago
compressed_output.cc Update copyright years. Update language files. 19 years ago
compressed_output.h Update copyright years. Update language files. 19 years ago
config.in Remove gcc 3.2 compatibility hacks. 19 years ago
configure Don't get confused about whether a symbol is the default version if we 19 years ago
configure.ac Don't get confused about whether a symbol is the default version if we 19 years ago
configure.tgt Support creating empty output when there are no input objects. 19 years ago
debug.h Update copyright years. Update language files. 19 years ago
defstd.cc Fully implement the SECTIONS clause. 19 years ago
defstd.h Update copyright years. Update language files. 19 years ago
dirsearch.cc Update copyright years. Update language files. 19 years ago
dirsearch.h Update copyright years. Update language files. 19 years ago
dwarf_reader.cc Update copyright years. Update language files. 19 years ago
dwarf_reader.h Update copyright years. Update language files. 19 years ago
dynobj.cc Increase maximum bucket size for dynamic hash tables. 19 years ago
dynobj.h Update copyright years. Update language files. 19 years ago
ehframe.cc Update copyright years. Update language files. 19 years ago
ehframe.h Update copyright years. Update language files. 19 years ago
errors.cc Update copyright years. Update language files. 19 years ago
errors.h Update copyright years. Update language files. 19 years ago
expression.cc Permit scripts to refer to the addresses of output sections which were 19 years ago
fileread.cc Update copyright years. Update language files. 19 years ago
fileread.h Update copyright years. Update language files. 19 years ago
gold-threads.cc Update copyright years. Update language files. 19 years ago
gold-threads.h Update copyright years. Update language files. 19 years ago
gold.cc From Craig Silverstein: rename some option functions in preparation 19 years ago
gold.h * gold.h: Include <cstddef> and <sys/types.h> 19 years ago
i386.cc Update copyright years. Update language files. 19 years ago
layout.cc Make sure the start and size of the TLS segment are aligned. 19 years ago
layout.h Combine read-only .eh_frame sections with read-write .eh_frame 19 years ago
main.cc From Craig Silverstein: rework option handling to make it easier to 19 years ago
merge.cc Update copyright years. Update language files. 19 years ago
merge.h Update copyright years. Update language files. 19 years ago
object.cc * options.cc: Include "demangle.h". 19 years ago
object.h Fix handling of RELA relative relocs against local symbols in merge 19 years ago
options.cc * options.cc: Include "demangle.h". 19 years ago
options.h * options.cc: Include "demangle.h". 19 years ago
output.cc Make sure the start and size of the TLS segment are aligned. 19 years ago
output.h Make sure the start and size of the TLS segment are aligned. 19 years ago
parameters.cc Update copyright years. Update language files. 19 years ago
parameters.h Update copyright years. Update language files. 19 years ago
pread.c Rework File_read interface. Get file size. Use pread when 19 years ago
readsyms.cc Update copyright years. Update language files. 19 years ago
readsyms.h Update copyright years. Update language files. 19 years ago
reloc-types.h Update copyright years. Update language files. 19 years ago
reloc.cc Update copyright years. Update language files. 19 years ago
reloc.h Update copyright years. Update language files. 19 years ago
resolve.cc Remove gcc 3.2 compatibility hacks. 19 years ago
script-c.h Support -d/--define-common. 19 years ago
script-sections.cc Permit scripts to refer to the addresses of output sections which were 19 years ago
script-sections.h Permit scripts to refer to the addresses of output sections which were 19 years ago
script.cc From Craig Silverstein: rework option handling to make it easier to 19 years ago
script.h Permit scripts to refer to the addresses of output sections which were 19 years ago
stringpool.cc Update copyright years. Update language files. 19 years ago
stringpool.h Update copyright years. Update language files. 19 years ago
symtab.cc * options.cc: Include "demangle.h". 19 years ago
symtab.h Don't get confused about whether a symbol is the default version if we 19 years ago
target-reloc.h From Craig Silverstein: implement -z defs. 19 years ago
target-select.cc Update copyright years. Update language files. 19 years ago
target-select.h Update copyright years. Update language files. 19 years ago
target.h Update copyright years. Update language files. 19 years ago
tls.h Update copyright years. Update language files. 19 years ago
token.h Update copyright years. Update language files. 19 years ago
version.cc Bump version for general release. 19 years ago
workqueue-internal.h Update copyright years. Update language files. 19 years ago
workqueue-threads.cc Update copyright years. Update language files. 19 years ago
workqueue.cc Update copyright years. Update language files. 19 years ago
workqueue.h Update copyright years. Update language files. 19 years ago
x86_64.cc * x86_64.cc: Correct license to GPLv3. 19 years ago
yyscript.y Support -d/--define-common. 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.