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 8462ae85e4 Generate a GLOB_DAT reloc for a GOT32 reloc against a symbol defined 19 years ago
..
po Add support for SHF_MERGE sections. 20 years ago
testsuite Added a testsuite. More support for COPY relocations. 20 years ago
Makefile.am Add support for SHF_MERGE sections. 20 years ago
Makefile.in Add support for SHF_MERGE sections. 20 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 Implement --whole-archive. 19 years ago
archive.h Implement --whole-archive. 19 years ago
common.cc Hash tables, dynamic section, i386 PLT, gold_assert. 20 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 support for --enable-target to control which template 19 years ago
configure.ac Add support for --enable-target to control which template 19 years ago
defstd.cc Split Object into Dynobj and Relobj, incorporate elfcpp swapping changes. 20 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 Don't try to find version definition index when creating an executable. 19 years ago
dynobj.h Don't try to find version definition index when creating an executable. 19 years ago
fileread.cc Added a testsuite. More support for COPY relocations. 20 years ago
fileread.h Implement --whole-archive. 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 Can now dynamically link hello, world. 20 years ago
gold.h gcc 3.2.2 and 4.1.0 portability hacks. 20 years ago
i386.cc Generate a GLOB_DAT reloc for a GOT32 reloc against a symbol defined 19 years ago
layout.cc Don't try to find version definition index when creating an executable. 19 years ago
layout.h gcc 3.2.2 and 4.1.0 portability hacks. 20 years ago
main.cc Added a testsuite. More support for COPY relocations. 20 years ago
merge.cc Add support for SHF_MERGE sections. 20 years ago
merge.h Add support for SHF_MERGE sections. 20 years ago
object.cc Add support for --enable-target to control which template 19 years ago
object.h Add support for SHF_MERGE sections. 20 years ago
options.cc Add -rpath-link option, currently unused. 19 years ago
options.h Add -rpath-link option, currently unused. 19 years ago
output.cc Add support for --enable-target to control which template 19 years ago
output.h Force PT_LOAD segments to be aligned to the page size. 19 years ago
readsyms.cc Don't emit symbols seen only in dynamic object, don't read duplicate 20 years ago
readsyms.h More dynamic object support, initial scripting support. 20 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 Add support for --enable-target to control which template 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 Add support for SHF_MERGE sections. 20 years ago
stringpool.h Add support for SHF_MERGE sections. 20 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc Add support for --enable-target to control which template 19 years ago
symtab.h Any symbol which is in both a regular object and a dynamic object 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 Generate version information. 20 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.