binutils-gdb/gold
2007-09-21 06:25:35 +00:00
..
po Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
testsuite Update for have_code_fill field. 2007-09-21 06:25:35 +00:00
aclocal.m4
archive.cc Fix comment. 2007-09-20 19:31:54 +00:00
archive.h Rework patch to check by both armap entry and archive offset. Also, 2007-09-20 05:56:14 +00:00
common.cc Add control over template specialization. 2007-09-19 06:01:35 +00:00
common.h
config.in Add support for --enable-target to control which template 2007-09-04 20:00:53 +00:00
configure Add support for --enable-target to control which template 2007-09-04 20:00:53 +00:00
configure.ac Add support for --enable-target to control which template 2007-09-04 20:00:53 +00:00
defstd.cc
defstd.h
dirsearch.cc
dirsearch.h
dynobj.cc Don't try to find version definition index when creating an executable. 2007-09-12 00:30:59 +00:00
dynobj.h Don't try to find version definition index when creating an executable. 2007-09-12 00:30:59 +00:00
fileread.cc
fileread.h Implement --whole-archive. 2007-08-21 23:37:56 +00:00
gold-threads.cc
gold-threads.h
gold.cc
gold.h Actually define GOLD_GOLD_H multiple inclusion macro. 2007-09-21 06:25:19 +00:00
i386.cc Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
layout.cc Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
layout.h
main.cc
Makefile.am Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
Makefile.in Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
merge.cc Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
merge.h Set Stringpool zero_null option via a call, not a default constructor 2007-09-21 06:12:32 +00:00
object.cc From Cary Coutant: only check for a linkonce section if the SHF_GROUP 2007-09-20 06:02:06 +00:00
object.h Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
options.cc From Craig Silverstein: Add -O option. 2007-09-21 05:43:33 +00:00
options.h From Craig Silverstein: Add -O option. 2007-09-21 05:43:33 +00:00
output.cc Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
output.h Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
README
readsyms.cc
readsyms.h
reloc-types.h
reloc.cc Add support for --enable-target to control which template 2007-09-04 20:00:53 +00:00
reloc.h Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
resolve.cc Let special symbols override existing symbols rather than 2007-09-19 06:02:29 +00:00
script-c.h
script.cc Make relative references in linker scripts absolute and update a 2007-08-21 21:29:12 +00:00
script.h
stringpool.cc Set Stringpool zero_null option via a call, not a default constructor 2007-09-21 06:12:32 +00:00
stringpool.h Set Stringpool zero_null option via a call, not a default constructor 2007-09-21 06:12:32 +00:00
strtab.h
symtab.cc Let special symbols override existing symbols rather than 2007-09-19 06:02:29 +00:00
symtab.h Let special symbols override existing symbols rather than 2007-09-19 06:02:29 +00:00
target-reloc.h Make relative references in linker scripts absolute and update a 2007-08-21 21:29:12 +00:00
target-select.cc
target-select.h
target.h Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
workqueue.cc
workqueue.h
yyscript.y

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.