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 537b5f51e5 Add bootstrap test. 19 years ago
..
po Update. 19 years ago
testsuite Add bootstrap test. 19 years ago
Makefile.am Add bootstrap test. 19 years ago
Makefile.in Add bootstrap test. 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 global parameters. 19 years ago
archive.h Add global parameters. 19 years ago
common.cc Add control over template specialization. 19 years ago
common.h Can now do a full static link of hello, world in C or C++ 20 years ago
config.in Add support for --enable-target to control which template 19 years ago
configure Add bootstrap test. 19 years ago
configure.ac Add bootstrap test. 19 years ago
defstd.cc Fix some errors in symbol placement. 19 years ago
defstd.h Can now do a full static link of hello, world in C or C++ 20 years ago
dirsearch.cc Hash tables, dynamic section, i386 PLT, gold_assert. 20 years ago
dirsearch.h Can now do a full static link of hello, world in C or C++ 20 years ago
dynobj.cc Add global parameters. 19 years ago
dynobj.h Add global parameters. 19 years ago
fileread.cc Added a testsuite. More support for COPY relocations. 20 years ago
fileread.h From Andrew Chatham: Make File_read::View::data_ a const pointer. 19 years ago
gold-threads.cc Hash tables, dynamic section, i386 PLT, gold_assert. 20 years ago
gold-threads.h Initial CVS checkin of gold 20 years ago
gold.cc Define __start and __stop symbols. 19 years ago
gold.h Actually define GOLD_GOLD_H multiple inclusion macro. 19 years ago
i386.cc Initialize count_ field, tweak parameters testing. 19 years ago
layout.cc Define __start and __stop symbols. 19 years ago
layout.h Define __start and __stop symbols. 19 years ago
main.cc Add global parameters. 19 years ago
merge.cc We don't need a hash table mapping input locations to strings. 19 years ago
merge.h We don't need a hash table mapping input locations to strings. 19 years ago
object.cc Add global parameters. 19 years ago
object.h Add global parameters. 19 years ago
options.cc From Craig Silverstein: Add -O option. 19 years ago
options.h From Craig Silverstein: Add -O option. 19 years ago
output.cc Add global parameters. 19 years ago
output.h Add global parameters. 19 years ago
parameters.cc Add global parameters. 19 years ago
parameters.h Add global parameters. 19 years ago
readsyms.cc Add global parameters. 19 years ago
readsyms.h Add global parameters. 19 years ago
reloc-types.h Snapshot. Includes first cut at output relocation sections. 20 years ago
reloc.cc Add support for --enable-target to control which template 19 years ago
reloc.h Add support for SHF_MERGE sections. 20 years ago
resolve.cc Let special symbols override existing symbols rather than 19 years ago
script-c.h More dynamic object support, initial scripting support. 20 years ago
script.cc Make relative references in linker scripts absolute and update a 19 years ago
script.h More dynamic object support, initial scripting support. 20 years ago
stringpool.cc From Craig Silverstein: Only sort for suffixes with -O2. 19 years ago
stringpool.h Set Stringpool zero_null option via a call, not a default constructor 19 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc It's OK to have a version if we have an existing symbol. 19 years ago
symtab.h Canonicalize name and version when working with special symbols. 19 years ago
target-reloc.h Make relative references in linker scripts absolute and update a 19 years ago
target-select.cc Can now do a full static link of hello, world in C or C++ 20 years ago
target-select.h Can now do a full static link of hello, world in C or C++ 20 years ago
target.h Add global parameters. 19 years ago
workqueue.cc Hash tables, dynamic section, i386 PLT, gold_assert. 20 years ago
workqueue.h Can now do a full static link of hello, world in C or C++ 20 years ago
yyscript.y More dynamic object support, initial scripting support. 20 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.