NameDateSize

..Today56

aclocal.m4H A D24-Sep-201135.6 KiB

archive.ccH A D24-Sep-201133.6 KiB

archive.hH A D24-Sep-201114.5 KiB

arm-reloc-property.ccH A D24-Sep-20119.3 KiB

arm-reloc-property.hH A D24-Sep-201111.2 KiB

arm-reloc.defH A D24-Sep-201113.2 KiB

arm.ccH A D24-Sep-2011378.4 KiB

attributes.ccH A D24-Sep-201113.4 KiB

attributes.hH A D24-Sep-201110.8 KiB

binary.ccH A D24-Sep-201110.2 KiB

binary.hH A D18-Aug-20093.1 KiB

ChangeLogH A D24-Sep-2011390.2 KiB

common.ccH A D24-Sep-20119.2 KiB

common.hH A D24-Sep-20111.7 KiB

compressed_output.ccH A D24-Sep-20117.7 KiB

compressed_output.hH A D24-Sep-20112.5 KiB

config.inH A D24-Sep-20116.1 KiB

configureH A D24-Sep-2011247.6 KiB

configure.acH A D24-Sep-201113.6 KiB

configure.tgtH A D24-Sep-20113.2 KiB

copy-relocs.ccH A D24-Sep-20117.7 KiB

copy-relocs.hH A D18-Aug-20095.5 KiB

cref.ccH A D24-Sep-201110.2 KiB

cref.hH A D24-Sep-20112 KiB

debug.hH A D24-Sep-20112.3 KiB

defstd.ccH A D24-Sep-20117.3 KiB

defstd.hH A D18-Aug-20091.1 KiB

descriptors.ccH A D24-Sep-20116.6 KiB

descriptors.hH A D24-Sep-20113.5 KiB

dirsearch.ccH A D24-Sep-20116.3 KiB

dirsearch.hH A D24-Sep-20112.5 KiB

dwarf_reader.ccH A D24-Sep-201129.2 KiB

dwarf_reader.hH A D24-Sep-20117.2 KiB

dynobj.ccH A D24-Sep-201152 KiB

dynobj.hH A D24-Sep-201117.7 KiB

ehframe.ccH A D24-Sep-201133.5 KiB

ehframe.hH A D24-Sep-201113.5 KiB

errors.ccH A D24-Sep-20119.3 KiB

errors.hH A D24-Sep-20113.8 KiB

expression.ccH A D24-Sep-201132.3 KiB

ffsll.cH A D24-Sep-20111.3 KiB

fileread.ccH A D24-Sep-201127.1 KiB

fileread.hH A D24-Sep-201116.7 KiB

freebsd.hH A D24-Sep-20114.7 KiB

ftruncate.cH A D24-Sep-20111.6 KiB

gc.ccH A D24-Sep-20112.3 KiB

gc.hH A D24-Sep-201112.7 KiB

gold-threads.ccH A D24-Sep-20119 KiB

gold-threads.hH A D24-Sep-20115.6 KiB

gold.ccH A D24-Sep-201122.8 KiB

gold.hH A D24-Sep-201111.3 KiB

i386.ccH A D24-Sep-2011107 KiB

icf.ccH A D24-Sep-201132.8 KiB

icf.hH A D24-Sep-20115.6 KiB

incremental-dump.ccH A D24-Sep-201115.7 KiB

incremental.ccH A D24-Sep-201137.5 KiB

incremental.hH A D24-Sep-201128.5 KiB

int_encoding.ccH A D24-Sep-20113.2 KiB

int_encoding.hH A D24-Sep-20113.9 KiB

layout.ccH A D24-Sep-2011141.9 KiB

layout.hH A D24-Sep-201139.1 KiB

main.ccH A D24-Sep-20118.9 KiB

Makefile.amH A D24-Sep-20116.5 KiB

Makefile.inH A D24-Sep-201142.4 KiB

mapfile.ccH A D24-Sep-20119.9 KiB

mapfile.hH A D24-Sep-20112.9 KiB

merge.ccH A D24-Sep-201121.2 KiB

merge.hH A D24-Sep-201117.9 KiB

mremap.cH A D24-Sep-20111.9 KiB

NEWSH A D18-Aug-200930

object.ccH A D24-Sep-201189.6 KiB

object.hH A D24-Sep-201175.8 KiB

options.ccH A D24-Sep-201138.7 KiB

options.hH A D24-Sep-201170.2 KiB

output.ccH A D24-Sep-2011133.9 KiB

output.hH A D24-Sep-2011124.1 KiB

parameters.ccH A D24-Sep-20118.3 KiB

parameters.hH A D24-Sep-20115.9 KiB

plugin.ccH A D24-Sep-201135.6 KiB

plugin.hH A D24-Sep-201114.4 KiB

po/H12-Oct-201516

powerpc.ccH A D24-Sep-201161.5 KiB

pread.cH A D24-Sep-20111.4 KiB

READMEH A D24-Sep-20112.6 KiB

readsyms.ccH A D24-Sep-201121.1 KiB

readsyms.hH A D24-Sep-20119.3 KiB

reduced_debug_output.ccH A D24-Sep-201113.6 KiB

reduced_debug_output.hH A D24-Sep-20114.2 KiB

reloc-types.hH A D18-Aug-20092.9 KiB

reloc.ccH A D24-Sep-201152.3 KiB

reloc.hH A D24-Sep-201122.4 KiB

resolve.ccH A D24-Sep-201133.4 KiB

script-c.hH A D24-Sep-201115.7 KiB

script-sections.ccH A D24-Sep-2011118.2 KiB

script-sections.hH A D24-Sep-201110.3 KiB

script.ccH A D24-Sep-201193.7 KiB

script.hH A D24-Sep-201118.2 KiB

sparc.ccH A D24-Sep-2011101.2 KiB

stringpool.ccH A D24-Sep-201114.9 KiB

stringpool.hH A D24-Sep-201112.3 KiB

symtab.ccH A D24-Sep-201198 KiB

symtab.hH A D24-Sep-201158.3 KiB

target-reloc.hH A D24-Sep-201123.6 KiB

target-select.ccH A D24-Sep-20113.3 KiB

target-select.hH A D24-Sep-20116 KiB

target.ccH A D24-Sep-20115.8 KiB

target.hH A D24-Sep-201127.9 KiB

testsuite/H12-Oct-2015254

timer.ccH A D24-Sep-20112.6 KiB

timer.hH A D24-Sep-20111.6 KiB

tls.hH A D18-Aug-20092.5 KiB

TODOH A D18-Aug-2009969

token.hH A D24-Sep-20117.9 KiB

version.ccH A D24-Sep-20112.3 KiB

workqueue-internal.hH A D18-Aug-20092.8 KiB

workqueue-threads.ccH A D18-Aug-20094.6 KiB

workqueue.ccH A D24-Sep-201111.5 KiB

workqueue.hH A D24-Sep-20117.4 KiB

x86_64.ccH A D24-Sep-2011110.3 KiB

yyscript.yH A D24-Sep-201129.6 KiB

README

1gold is an ELF linker.  It is intended to have complete support for
2ELF and to run as fast as possible on modern systems.  For normal use
3it is a drop-in replacement for the older GNU linker.
4
5gold is part of the GNU binutils.  See ../binutils/README for more
6general notes, including where to send bug reports.
7
8gold was originally developed at Google, and was contributed to the
9Free Software Foundation in March 2008.  At Google it was designed by
10Ian Lance Taylor, with major contributions by Cary Coutant, Craig
11Silverstein, and Andrew Chatham.
12
13The existing GNU linker manual is intended to be accurate
14documentation for features which gold supports.  gold supports most of
15the features of the GNU linker for ELF targets.  Notable
16omissions--features of the GNU linker not currently supported in
17gold--are:
18  * MRI compatible linker scripts
19  * cross-reference reports (--cref)
20  * various other minor options
21
22
23Notes on the code
24=================
25
26These are some notes which may be helpful to people working on the
27source code of gold itself.
28
29gold is written in C++.  It is a GNU program, and therefore follows
30the GNU formatting standards as modified for C++.  Source documents in
31order of decreasing precedence:
32    http://www.gnu.org/prep/standards/
33    http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE
34    http://www.zembu.com/eng/procs/c++style.html
35
36The linker is intended to have complete support for cross-compilation,
37while still supporting the normal case of native linking as fast as
38possible.  In order to do this, many classes are actually templates
39whose parameter is the ELF file class (e.g., 32 bits or 64 bits).  The
40C++ code is the same, but we don't pay the execution time cost of
41always using 64-bit integers if the target is 32 bits.  Many of these
42class templates also have an endianness parameter: true for
43big-endian, false for little-endian.
44
45The linker is multi-threaded.  The Task class represents a single unit
46of work.  Task objects are stored on a single Workqueue object.  Tasks
47communicate via Task_token objects.  Task_token objects are only
48manipulated while holding the master Workqueue lock.  Relatively few
49mutexes are used.
50
51
52Build requirements
53==================
54
55The gold source code uses templates heavily.  Building it requires a
56recent version of g++.  g++ 4.0.3 and 4.1.3 are known to work.  g++
573.2, 3.4.3, and 4.1.2 are known to fail.
58
59The linker script parser uses features which are only in newer
60versions of bison.  bison 2.3 is known to work.  bison 1.26 is known
61to fail.  If you are building gold from an official binutils release,
62the bison output should already be included.
63