• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-May-2022-

po/H03-May-2022-22,98718,076

testsuite/H03-May-2022-40,73628,413

ChangeLogH A D03-Aug-201644.3 KiB1,114961

ChangeLog-0815H A D03-Aug-2016737.1 KiB18,14015,473

Makefile.amH A D03-Aug-201610.1 KiB378279

Makefile.inH A D03-Aug-201653.1 KiB1,4501,275

NEWSH A D03-Aug-2016988 5731

READMEH A D03-Aug-20162.8 KiB7053

TODOH A D04-Nov-2013969 2719

aarch64-reloc-property.ccH A D03-Aug-20164.7 KiB164114

aarch64-reloc-property.hH A D03-Aug-20167 KiB246148

aarch64-reloc.defH A D03-Aug-201610.8 KiB10993

aarch64.ccH A D03-Aug-2016258.1 KiB8,3436,145

aclocal.m4H A D03-Aug-201636 KiB1,013908

archive.ccH A D03-Aug-201637.9 KiB1,365994

archive.hH A D03-Aug-201615.1 KiB576333

arm-reloc-property.ccH A D03-Aug-20169.3 KiB334239

arm-reloc-property.hH A D03-Aug-201611.2 KiB387227

arm-reloc.defH A D03-Aug-201613.2 KiB195188

arm.ccH A D03-Aug-2016417.2 KiB13,0659,301

attributes.ccH A D03-Aug-201613.4 KiB459316

attributes.hH A D03-Aug-201610.9 KiB412249

binary.ccH A D03-Aug-201610.6 KiB371261

binary.hH A D03-Aug-20163.2 KiB11859

common.ccH A D03-Aug-20169.6 KiB365260

common.hH A D03-Aug-20161.6 KiB6830

compressed_output.ccH A D03-Aug-201610.3 KiB339252

compressed_output.hH A D03-Aug-20162.6 KiB8733

config.inH A D03-Aug-20167.4 KiB284202

configureH A D03-Aug-2016263.6 KiB9,3637,698

configure.acH A D03-Aug-201620.5 KiB668594

configure.tgtH A D03-Aug-20164.3 KiB188177

copy-relocs.ccH A D03-Aug-20168 KiB265165

copy-relocs.hH A D03-Aug-20165.7 KiB16282

cref.ccH A D03-Aug-201610.2 KiB408262

cref.hH A D03-Aug-20162 KiB8031

debug.hH A D03-Aug-20162.4 KiB8445

defstd.ccH A D03-Aug-20167.6 KiB289252

defstd.hH A D03-Aug-20161.1 KiB379

descriptors.ccH A D03-Aug-20167.9 KiB298199

descriptors.hH A D03-Aug-20163.6 KiB11846

dirsearch.ccH A D03-Aug-20167 KiB306202

dirsearch.hH A D03-Aug-20162.8 KiB9136

dwarf_reader.ccH A D03-Aug-201670.9 KiB2,4171,833

dwarf_reader.hH A D03-Aug-201633.2 KiB1,119660

dwp.ccH A D03-Aug-201672 KiB2,4521,759

dwp.hH A D03-Aug-20163.2 KiB12567

dynobj.ccH A D03-Aug-201655 KiB2,0271,541

dynobj.hH A D03-Aug-201618.8 KiB689393

ehframe.ccH A D03-Aug-201639 KiB1,343937

ehframe.hH A D03-Aug-201615.9 KiB527314

errors.ccH A D03-Aug-20169.9 KiB429310

errors.hH A D03-Aug-20164 KiB13960

expression.ccH A D03-Aug-201634.8 KiB1,3371,047

ffsll.cH A D03-Aug-20161.4 KiB4918

fileread.ccH A D03-Aug-201628.9 KiB1,142850

fileread.hH A D03-Aug-201617 KiB612310

freebsd.hH A D03-Aug-20163 KiB10460

ftruncate.cH A D03-Aug-20162.4 KiB11258

gc.ccH A D03-Aug-20162.2 KiB6935

gc.hH A D03-Aug-201612.3 KiB374272

gdb-index.ccH A D03-Aug-201640 KiB1,360953

gdb-index.hH A D03-Aug-20167.3 KiB265156

gold-threads.ccH A D03-Aug-20169 KiB451298

gold-threads.hH A D03-Aug-20165.6 KiB268144

gold.ccH A D03-Aug-201629.5 KiB907639

gold.hH A D03-Aug-20169 KiB314175

i386.ccH A D03-Aug-2016139.6 KiB4,4583,367

icf.ccH A D03-Aug-201633.4 KiB871527

icf.hH A D03-Aug-20165.6 KiB18097

incremental-dump.ccH A D03-Aug-201616.9 KiB519426

incremental.ccH A D03-Aug-201696.1 KiB3,1242,344

incremental.hH A D03-Aug-201664 KiB2,2561,412

int_encoding.ccH A D03-Aug-20163.5 KiB13587

int_encoding.hH A D03-Aug-20164.9 KiB15986

layout.ccH A D03-Aug-2016183.8 KiB5,9844,277

layout.hH A D03-Aug-201649.7 KiB1,662920

main.ccH A D03-Aug-201610.3 KiB333217

mapfile.ccH A D03-Aug-201610.2 KiB413302

mapfile.hH A D03-Aug-20162.9 KiB11955

merge.ccH A D03-Aug-201619.2 KiB690480

merge.hH A D03-Aug-201615.4 KiB515274

mips.ccH A D03-Aug-2016431.4 KiB12,5129,052

mremap.cH A D03-Aug-20162.4 KiB8844

nacl.ccH A D03-Aug-20161.3 KiB4820

nacl.hH A D03-Aug-20166.9 KiB244190

object.ccH A D03-Aug-2016104 KiB3,4602,570

object.hH A D03-Aug-201692.7 KiB3,0251,808

options.ccH A D03-Aug-201641.3 KiB1,5251,148

options.hH A D03-Aug-201678 KiB2,1751,445

output.ccH A D03-Aug-2016156.7 KiB5,5694,168

output.hH A D03-Aug-2016145.9 KiB4,9253,024

parameters.ccH A D03-Aug-20169.6 KiB389271

parameters.hH A D03-Aug-20166.3 KiB247127

plugin.ccH A D03-Aug-201652.7 KiB1,9661,429

plugin.hH A D03-Aug-201615.8 KiB613356

powerpc.ccH A D03-Aug-2016260.4 KiB8,8257,376

pread.cH A D03-Aug-20161.4 KiB4312

readsyms.ccH A D03-Aug-201625.5 KiB947656

readsyms.hH A D03-Aug-201612.6 KiB492312

reduced_debug_output.ccH A D03-Aug-201614 KiB377305

reduced_debug_output.hH A D03-Aug-20164.2 KiB14169

reloc-types.hH A D03-Aug-20162.7 KiB8543

reloc.ccH A D03-Aug-201652.2 KiB1,8591,380

reloc.hH A D03-Aug-201638.3 KiB1,202851

resolve.ccH A D03-Aug-201636.4 KiB1,122770

s390.ccH A D03-Aug-2016146.4 KiB4,9643,928

script-c.hH A D03-Aug-201615.8 KiB568313

script-sections.ccH A D03-Aug-2016125.2 KiB4,5033,146

script-sections.hH A D03-Aug-201610.5 KiB340162

script.ccH A D03-Aug-201695.6 KiB3,4202,404

script.hH A D03-Aug-201618.4 KiB597298

sparc.ccH A D03-Aug-2016133.6 KiB4,5323,540

stringpool.ccH A D03-Aug-201615.4 KiB536372

stringpool.hH A D03-Aug-201612.6 KiB422202

symtab.ccH A D03-Aug-2016114.6 KiB3,9132,957

symtab.hH A D03-Aug-201662.5 KiB2,0021,097

system.hH A D03-Aug-20164.6 KiB172100

target-reloc.hH A D03-Aug-201630.8 KiB947654

target-select.ccH A D03-Aug-20165.6 KiB220140

target-select.hH A D03-Aug-20168.4 KiB279125

target.ccH A D03-Aug-20167.3 KiB263176

target.hH A D03-Aug-201639.4 KiB1,146649

tilegx.ccH A D03-Aug-2016188.8 KiB4,9713,975

timer.ccH A D03-Aug-20163.1 KiB13487

timer.hH A D03-Aug-20161.8 KiB8132

tls.hH A D03-Aug-20162.5 KiB8241

token.hH A D03-Aug-20167.9 KiB336182

version.ccH A D03-Aug-20162.3 KiB8234

workqueue-internal.hH A D03-Aug-20162.8 KiB11048

workqueue-threads.ccH A D03-Aug-20164.7 KiB200111

workqueue.ccH A D03-Aug-201611.6 KiB522333

workqueue.hH A D03-Aug-20167.4 KiB296144

x86_64.ccH A D03-Aug-2016166.1 KiB5,2653,994

yyscript.yH A D03-Aug-201630.3 KiB1,149912

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++/manual/source_code_style.html
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
64
65Copyright (C) 2012-2016 Free Software Foundation, Inc.
66
67Copying and distribution of this file, with or without modification,
68are permitted in any medium without royalty provided the copyright
69notice and this notice are preserved.
70