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 338f2eba1a From Cary Coutant: mark negative constant as unsigned. 19 years ago
..
po Generate a complete exception frame header. Discard duplicate 19 years ago
testsuite Generate a complete exception frame header. Discard duplicate 19 years ago
Makefile.am From Craig Silverstein: Add first version of generating error messages 19 years ago
Makefile.in From Craig Silverstein: Add first version of generating error messages 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 From Craig Silverstein: Don't crash if we see a file we don't recognize. 19 years ago
archive.h Add cache parameter to get_view. Discard uncached views on unlock. 19 years ago
common.cc Put size and endianness in parameters. 19 years ago
common.h Add licensing text to every source file. 19 years ago
config.in Use AC_GNU_SOURCE. 19 years ago
configure Use AC_GNU_SOURCE. 19 years ago
configure.ac Use AC_GNU_SOURCE. 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 Run all error handling through an Errors object. Delete output file 19 years ago
dirsearch.h Full support for --sysroot. 19 years ago
dwarf_reader.cc From Cary Coutant: mark negative constant as unsigned. 19 years ago
dwarf_reader.h From Craig Silverstein: Templatize the Dwarf reader. 19 years ago
dynobj.cc Generate a complete exception frame header. Discard duplicate 19 years ago
dynobj.h Generate a complete exception frame header. Discard duplicate 19 years ago
ehframe.cc Generate a complete exception frame header. Discard duplicate 19 years ago
ehframe.h Generate a complete exception frame header. Discard duplicate 19 years ago
errors.cc Run all error handling through an Errors object. Delete output file 19 years ago
errors.h Run all error handling through an Errors object. Delete output file 19 years ago
fileread.cc Implement -Bstatic/-Bdynamic. 19 years ago
fileread.h Run all error handling through an Errors object. Delete output file 19 years ago
gold-threads.cc Add infrastructure for threading support. 19 years ago
gold-threads.h Add licensing text to every source file. 19 years ago
gold.cc Generate a complete exception frame header. Discard duplicate 19 years ago
gold.h Run all error handling through an Errors object. Delete output file 19 years ago
i386.cc Generate a complete exception frame header. Discard duplicate 19 years ago
layout.cc Generate a complete exception frame header. Discard duplicate 19 years ago
layout.h Generate a complete exception frame header. Discard duplicate 19 years ago
main.cc From Craig Silverstein and Ian Lance Taylor: Process --script option. 19 years ago
merge.cc Generate a complete exception frame header. Discard duplicate 19 years ago
merge.h Generate a complete exception frame header. Discard duplicate 19 years ago
object.cc Generate a complete exception frame header. Discard duplicate 19 years ago
object.h Generate a complete exception frame header. Discard duplicate 19 years ago
options.cc From Craig Silverstein: Implement OPTION in linker scripts. 19 years ago
options.h From Craig Silverstein: Implement OPTION in linker scripts. 19 years ago
output.cc Generate a complete exception frame header. Discard duplicate 19 years ago
output.h Generate a complete exception frame header. Discard duplicate 19 years ago
parameters.cc From Craig Silverstein and Ian Lance Taylor: Process --script option. 19 years ago
parameters.h From Craig Silverstein and Ian Lance Taylor: Process --script option. 19 years ago
pread.c Rework File_read interface. Get file size. Use pread when 19 years ago
readsyms.cc Correct locking if a file could not be opened. 19 years ago
readsyms.h Correct locking if a file could not be opened. 19 years ago
reloc-types.h Add licensing text to every source file. 19 years ago
reloc.cc Generate a complete exception frame header. Discard duplicate 19 years ago
reloc.h Generate a complete exception frame header. Discard duplicate 19 years ago
resolve.cc Fix versions of copied symbols. 19 years ago
script-c.h From Craig Silverstein: preliminary support for OPTION in linker script. 19 years ago
script.cc From Craig Silverstein: Implement OPTION in linker scripts. 19 years ago
script.h From Craig Silverstein and Ian Lance Taylor: Process --script option. 19 years ago
stringpool.cc Generate a complete exception frame header. Discard duplicate 19 years ago
stringpool.h Add an option for Stringpools to not copy strings. 19 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc Generate a complete exception frame header. Discard duplicate 19 years ago
symtab.h Generate a complete exception frame header. Discard duplicate 19 years ago
target-reloc.h Generate a complete exception frame header. Discard duplicate 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 Generate a complete exception frame header. Discard duplicate 19 years ago
tls.h Run all error handling through an Errors object. Delete output file 19 years ago
version.cc Create a note section with the version of gold. 19 years ago
workqueue.cc Add infrastructure for threading support. 19 years ago
workqueue.h Add infrastructure for threading support. 19 years ago
x86_64.cc Generate a complete exception frame header. Discard duplicate 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.