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 8f2eb564dd Permit scripts to refer to the addresses of output sections which were 18 years ago
..
po Fully implement the SECTIONS clause. 18 years ago
testsuite From Craig Silverstein: Have Parameters point to General_options. 18 years ago
Makefile.am Add support for --format binary for input files. 18 years ago
Makefile.in Add support for --format binary for input files. 18 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 From Craig Silverstein: rename option functions for future option 18 years ago
archive.h Reduce the number of system calls. Use readv instead of pread. Do 19 years ago
binary.cc Add support for --format binary for input files. 18 years ago
binary.h Add support for --format binary for input files. 18 years ago
common.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
common.h Rewrite workqueue. This version eliminates the master thread, and 19 years ago
compressed_output.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
compressed_output.h Compress all debug sections. 19 years ago
config.in Support creating empty output when there are no input objects. 18 years ago
configure Support creating empty output when there are no input objects. 18 years ago
configure.ac Support creating empty output when there are no input objects. 18 years ago
configure.tgt Support creating empty output when there are no input objects. 18 years ago
debug.h Parse a SECTIONS clause in a linker script. 18 years ago
defstd.cc Fully implement the SECTIONS clause. 18 years ago
defstd.h Don't pass around the target in order to define symbols; get it from 18 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 From Craig Silverstein: Have Parameters point to General_options. 18 years ago
dwarf_reader.h Add section_size_type and section_offset_type, use them to replace a 19 years ago
dynobj.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
dynobj.h From Craig Silverstein: rework handling of Script_options. 18 years ago
ehframe.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
ehframe.h Align FDE and CIE lengths as needed. 18 years ago
errors.cc Report linker script errors with line numbers. Ignore OUTPUT_FORMAT 19 years ago
errors.h Report linker script errors with line numbers. Ignore OUTPUT_FORMAT 19 years ago
expression.cc Permit scripts to refer to the addresses of output sections which were 18 years ago
fileread.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
fileread.h Support selecting target by name. 18 years ago
gold-threads.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
gold-threads.h Add threading support. 19 years ago
gold.cc Support -d/--define-common. 18 years ago
gold.h Avoid some warnings which showed up in 64-bit mode. 19 years ago
i386.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
layout.cc Don't check assertions until symbols are finalized. Create an output 18 years ago
layout.h Don't check assertions until symbols are finalized. Create an output 18 years ago
main.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
merge.cc Speed up relocations against local symbols in merged sections. 19 years ago
merge.h Speed up relocations against local symbols in merged sections. 19 years ago
object.cc Support -d/--define-common. 18 years ago
object.h Implement -q/--emit-relocs. 18 years ago
options.cc Support -d/--define-common. 18 years ago
options.h Support -d/--define-common. 18 years ago
output.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
output.h Implement -Tdata and -Tbss. 18 years ago
parameters.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
parameters.h From Craig Silverstein: Have Parameters point to General_options. 18 years ago
pread.c Rework File_read interface. Get file size. Use pread when 19 years ago
readsyms.cc Read input scripts which look like input objects with proper 18 years ago
readsyms.h Read input scripts which look like input objects with proper 18 years ago
reloc-types.h Initial -r support. 18 years ago
reloc.cc Read input scripts which look like input objects with proper 18 years ago
reloc.h Implement -q/--emit-relocs. 18 years ago
resolve.cc Don't warn about redefinitions from a --just-symbols object. 18 years ago
script-c.h Support -d/--define-common. 18 years ago
script-sections.cc Permit scripts to refer to the addresses of output sections which were 18 years ago
script-sections.h Permit scripts to refer to the addresses of output sections which were 18 years ago
script.cc Support -d/--define-common. 18 years ago
script.h Permit scripts to refer to the addresses of output sections which were 18 years ago
stringpool.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
stringpool.h Move Stringpool offsets into a chunked_vector indexed by keys. 19 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc Support -d/--define-common. 18 years ago
symtab.h From Craig Silverstein: Have Parameters point to General_options. 18 years ago
target-reloc.h From Craig Silverstein: Have Parameters point to General_options. 18 years ago
target-select.cc Support selecting target by name. 18 years ago
target-select.h Support selecting target by name. 18 years ago
target.h From Craig Silverstein: Have Parameters point to General_options. 18 years ago
tls.h Convert more instances of off_t to be 32-bit types. 19 years ago
token.h Read input scripts which look like input objects with proper 18 years ago
version.cc Up version to 1.1, as the 1.1 binary was pushed to users today. 18 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 Read input scripts which look like input objects with proper 18 years ago
workqueue.h Read input scripts which look like input objects with proper 18 years ago
x86_64.cc From Craig Silverstein: Have Parameters point to General_options. 18 years ago
yyscript.y Support -d/--define-common. 18 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.