binutils-gdb/gold
2008-02-05 22:22:09 +00:00
..
po Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
testsuite Implement PHDRS. 2008-02-04 22:54:31 +00:00
aclocal.m4
archive.cc
archive.h
common.cc
common.h
compressed_output.cc
compressed_output.h
config.in
configure Parse a SECTIONS clause in a linker script. 2008-01-23 01:31:13 +00:00
configure.ac Parse a SECTIONS clause in a linker script. 2008-01-23 01:31:13 +00:00
debug.h Parse a SECTIONS clause in a linker script. 2008-01-23 01:31:13 +00:00
defstd.cc Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
defstd.h Don't pass around the target in order to define symbols; get it from 2008-01-26 01:17:45 +00:00
dirsearch.cc
dirsearch.h
dwarf_reader.cc From Craig Silverstein: Handle quoted strings differently in version 2008-01-18 23:35:09 +00:00
dwarf_reader.h
dynobj.cc Don't pass around the target in order to define symbols; get it from 2008-01-26 01:17:45 +00:00
dynobj.h Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
ehframe.cc Don't record file offset for CIEs. 2008-02-02 06:50:45 +00:00
ehframe.h Don't record file offset for CIEs. 2008-02-02 06:50:45 +00:00
errors.cc
errors.h
expression.cc Implement SIZEOF_HEADERS, section constraints, other minor linker 2008-02-04 06:45:50 +00:00
fileread.cc
fileread.h Include <vector>. 2008-01-22 22:50:31 +00:00
gold-threads.cc
gold-threads.h
gold.cc Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
gold.h
i386.cc From Cary Coutant: Fix a case in which code takes the address of a 2008-02-01 00:39:10 +00:00
layout.cc Implement PHDRS. 2008-02-04 22:54:31 +00:00
layout.h Implement SIZEOF_HEADERS, section constraints, other minor linker 2008-02-04 06:45:50 +00:00
main.cc From Craig Silverstein: support @file expansion. 2008-02-04 17:26:12 +00:00
Makefile.am From Ollie Wild: add missing backquote to install-exec-local. 2008-02-05 22:22:09 +00:00
Makefile.in From Ollie Wild: add missing backquote to install-exec-local. 2008-02-05 22:22:09 +00:00
merge.cc
merge.h
object.cc
object.h Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
options.cc Parse a SECTIONS clause in a linker script. 2008-01-23 01:31:13 +00:00
options.h Treat an empty directory argument as the current directory. 2008-02-04 22:44:35 +00:00
output.cc Implement PHDRS. 2008-02-04 22:54:31 +00:00
output.h Implement PHDRS. 2008-02-04 22:54:31 +00:00
parameters.cc
parameters.h
pread.c
README
readsyms.cc Permit ordinary object files in groups. 2008-01-26 01:35:10 +00:00
readsyms.h
reloc-types.h
reloc.cc
reloc.h
resolve.cc Originally from Craig Silverstein, with changes: support using a 2008-01-24 00:15:00 +00:00
script-c.h Implement PHDRS. 2008-02-04 22:54:31 +00:00
script-sections.cc Print PHDRS clause for debugging. 2008-02-04 23:53:15 +00:00
script-sections.h Implement PHDRS. 2008-02-04 22:54:31 +00:00
script.cc Implement PHDRS. 2008-02-04 22:54:31 +00:00
script.h Implement PHDRS. 2008-02-04 22:54:31 +00:00
stringpool.cc
stringpool.h
strtab.h
symtab.cc Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
symtab.h Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
target-reloc.h
target-select.cc
target-select.h
target.h
tls.h
token.h
version.cc
workqueue-internal.h
workqueue-threads.cc
workqueue.cc
workqueue.h
x86_64.cc From Cary Coutant: Fix a case in which code takes the address of a 2008-02-01 00:39:10 +00:00
yyscript.y Implement PHDRS. 2008-02-04 22:54:31 +00:00

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.