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 7d00dcbd9c From Andrew Chatham: exit on relocation error. 19 years ago
..
po From Craig Silverstein: don't permit -s and -r. 19 years ago
testsuite Make TLS test fail more reliably. 19 years ago
Makefile.am From Craig Silverstein: add tls.h, use it in i386.cc. 19 years ago
Makefile.in From Craig Silverstein: add tls.h, use it in i386.cc. 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: avoid some signed/unsigned warnings from gcc 4.2. 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 Full support for --sysroot. 19 years ago
configure Add --version option. 19 years ago
configure.ac Add --version option. 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 Full support for --sysroot. 19 years ago
dirsearch.h Full support for --sysroot. 19 years ago
dynobj.cc Fix soname for library found in search path. 19 years ago
dynobj.h Put size and endianness in parameters. 19 years ago
ehframe.cc Put size and endianness in parameters. 19 years ago
ehframe.h Put size and endianness in parameters. 19 years ago
fileread.cc Fix soname for library found in search path. 19 years ago
fileread.h Fix soname for library found in search path. 19 years ago
gold-threads.cc Add licensing text to every source file. 19 years ago
gold-threads.h Add licensing text to every source file. 19 years ago
gold.cc Use parameters to track whether we are doing a static link. Fix up 19 years ago
gold.h Create a note section with the version of gold. 19 years ago
i386.cc From Andrew Chatham: exit on relocation error. 19 years ago
layout.cc Implement -s and -S options which strip symbols. 19 years ago
layout.h Create a note section with the version of gold. 19 years ago
main.cc Full support for --sysroot. 19 years ago
merge.cc From Craig Silverstein: don't get confused if the same file name 19 years ago
merge.h Add licensing text to every source file. 19 years ago
object.cc Implement -s and -S options which strip symbols. 19 years ago
object.h From Craig Silverstein: don't get confused if the same file name 19 years ago
options.cc From Craig Silverstein: don't permit -s and -r. 19 years ago
options.h From Craig Silverstein: don't permit -s and -r. 19 years ago
output.cc From Craig Silverstein: delete the output file first if it exists and 19 years ago
output.h Add support for local GOT offsets. 19 years ago
parameters.cc Implement -s and -S options which strip symbols. 19 years ago
parameters.h Implement -s and -S options which strip symbols. 19 years ago
pread.c Rework File_read interface. Get file size. Use pread when 19 years ago
readsyms.cc From Craig Silverstein: add support for searching for input files 19 years ago
readsyms.h Add licensing text to every source file. 19 years ago
reloc-types.h Add licensing text to every source file. 19 years ago
reloc.cc From Craig Silverstein: avoid some signed/unsigned warnings from gcc 4.2. 19 years ago
reloc.h Cleanups from Craig Silverstein. 19 years ago
resolve.cc Add licensing text to every source file. 19 years ago
script-c.h Add licensing text to every source file. 19 years ago
script.cc Full support for --sysroot. 19 years ago
script.h Add licensing text to every source file. 19 years ago
stringpool.cc From Andrew Chatham: fix bug in 64-bit hash. 19 years ago
stringpool.h Add licensing text to every source file. 19 years ago
strtab.h Another snapshot of the current state of the sources. Gets to the 20 years ago
symtab.cc Implement -s and -S options which strip symbols. 19 years ago
symtab.h Use parameters to track whether we are doing a static link. Fix up 19 years ago
target-reloc.h From Andrew Chatham: exit on relocation error. 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 Use special value when we refer a function symbol in some way other 19 years ago
tls.h From Craig Silverstein: add tls.h, use it in i386.cc. 19 years ago
version.cc Create a note section with the version of gold. 19 years ago
workqueue.cc Add licensing text to every source file. 19 years ago
workqueue.h Add licensing text to every source file. 19 years ago
x86_64.cc From Andrew Chatham: exit on relocation error. 19 years ago
yyscript.y Add licensing text to every source file. 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.