• Home
Name Date Size #Lines LOC

..--

po/03-May-2024-14,76711,617

testsuite/03-May-2024-36,03124,804

ChangeLogD03-May-2024685.4 KiB16,79514,352

Makefile.amD03-May-20249.8 KiB369275

Makefile.inD03-May-202452 KiB1,4011,233

NEWSD03-May-2024301 128

READMED03-May-20242.8 KiB7053

TODOD03-May-2024969 2719

aarch64-reloc-property.ccD03-May-20244.7 KiB164114

aarch64-reloc-property.hD03-May-20247 KiB246148

aarch64-reloc.defD03-May-202410.4 KiB10590

aarch64.ccD03-May-2024256 KiB8,2756,085

aclocal.m4D03-May-202435.7 KiB993893

archive.ccD03-May-202437.2 KiB1,343974

archive.hD03-May-202415 KiB572331

arm-reloc-property.ccD03-May-20249.3 KiB334239

arm-reloc-property.hD03-May-202411.2 KiB387227

arm-reloc.defD03-May-202413.2 KiB195188

arm.ccD03-May-2024417.3 KiB13,0689,297

attributes.ccD03-May-202413.4 KiB459316

attributes.hD03-May-202410.9 KiB412249

binary.ccD03-May-202410.3 KiB365261

binary.hD03-May-20243.2 KiB11859

common.ccD03-May-20249.6 KiB365260

common.hD03-May-20241.6 KiB6830

compressed_output.ccD03-May-20247.7 KiB248158

compressed_output.hD03-May-20242.5 KiB8733

config.inD03-May-20247.4 KiB284202

configureD03-May-2024263.6 KiB9,3767,722

configure.acD03-May-202420.1 KiB665590

configure.tgtD03-May-20244.1 KiB174163

copy-relocs.ccD03-May-20247.6 KiB251154

copy-relocs.hD03-May-20245.3 KiB15171

cref.ccD03-May-202410.2 KiB408262

cref.hD03-May-20242 KiB8031

debug.hD03-May-20242.4 KiB8445

defstd.ccD03-May-20247.6 KiB289252

defstd.hD03-May-20241.1 KiB379

descriptors.ccD03-May-20247.9 KiB298199

descriptors.hD03-May-20243.6 KiB11846

dirsearch.ccD03-May-20247 KiB306202

dirsearch.hD03-May-20242.8 KiB9136

dwarf_reader.ccD03-May-202481.3 KiB2,7822,147

dwarf_reader.hD03-May-202434.5 KiB1,152678

dwp.ccD03-May-202472.1 KiB2,4561,761

dwp.hD03-May-20243.2 KiB12567

dynobj.ccD03-May-202454.1 KiB1,9931,509

dynobj.hD03-May-202418.6 KiB679387

ehframe.ccD03-May-202438 KiB1,302905

ehframe.hD03-May-202416.1 KiB532316

errors.ccD03-May-20249.8 KiB427308

errors.hD03-May-20244 KiB13960

expression.ccD03-May-202434 KiB1,3131,030

ffsll.cD03-May-20241.4 KiB4918

fileread.ccD03-May-202428.9 KiB1,142850

fileread.hD03-May-202417 KiB612310

freebsd.hD03-May-20243 KiB10460

ftruncate.cD03-May-20242.4 KiB11258

gc.ccD03-May-20242.3 KiB7541

gc.hD03-May-202412.7 KiB381278

gdb-index.ccD03-May-202440 KiB1,360953

gdb-index.hD03-May-20247.3 KiB265156

gold-threads.ccD03-May-20249.3 KiB460305

gold-threads.hD03-May-20245.6 KiB268144

gold.ccD03-May-202431 KiB940662

gold.hD03-May-20249 KiB314175

i386.ccD03-May-2024133.6 KiB4,2673,214

icf.ccD03-May-202434.4 KiB906552

icf.hD03-May-20245.6 KiB18097

incremental-dump.ccD03-May-202416.9 KiB519426

incremental.ccD03-May-202496 KiB3,1232,344

incremental.hD03-May-202464 KiB2,2561,412

int_encoding.ccD03-May-20243.5 KiB13587

int_encoding.hD03-May-20244.9 KiB15986

layout.ccD03-May-2024186 KiB6,0284,314

layout.hD03-May-202449 KiB1,638903

main.ccD03-May-202410.3 KiB333217

mapfile.ccD03-May-202410.2 KiB413302

mapfile.hD03-May-20242.9 KiB11955

merge.ccD03-May-202420.8 KiB749518

merge.hD03-May-202417.8 KiB575296

mips.ccD03-May-2024367.6 KiB10,5767,611

mremap.cD03-May-20242.4 KiB8844

nacl.ccD03-May-20241.3 KiB4820

nacl.hD03-May-20246.9 KiB244190

object.ccD03-May-2024100.4 KiB3,3562,480

object.hD03-May-202488.6 KiB2,9001,723

options.ccD03-May-202442.1 KiB1,5361,151

options.hD03-May-202478.8 KiB2,1821,453

output.ccD03-May-2024155.5 KiB5,5284,147

output.hD03-May-2024145 KiB4,8893,000

parameters.ccD03-May-20249.6 KiB389271

parameters.hD03-May-20246.3 KiB247127

plugin.ccD03-May-202449.8 KiB1,8731,367

plugin.hD03-May-202415.6 KiB603350

powerpc.ccD03-May-2024247.7 KiB8,4027,017

pread.cD03-May-20241.4 KiB4312

readsyms.ccD03-May-202425.5 KiB947656

readsyms.hD03-May-202412.6 KiB492312

reduced_debug_output.ccD03-May-202414 KiB377305

reduced_debug_output.hD03-May-20244.2 KiB14169

reloc-types.hD03-May-20242.9 KiB9349

reloc.ccD03-May-202452.3 KiB1,8501,370

reloc.hD03-May-202428.9 KiB899598

resolve.ccD03-May-202435.7 KiB1,103756

script-c.hD03-May-202415.7 KiB567312

script-sections.ccD03-May-2024121 KiB4,3733,060

script-sections.hD03-May-202410.4 KiB338161

script.ccD03-May-202495.5 KiB3,4182,402

script.hD03-May-202418.3 KiB597298

sparc.ccD03-May-2024129.7 KiB4,3983,420

stringpool.ccD03-May-202415.3 KiB535371

stringpool.hD03-May-202412.6 KiB422202

symtab.ccD03-May-2024109.4 KiB3,7552,832

symtab.hD03-May-202461.5 KiB1,9731,084

system.hD03-May-20244.6 KiB172100

target-reloc.hD03-May-202427.1 KiB833588

target-select.ccD03-May-20245.6 KiB220140

target-select.hD03-May-20248.4 KiB279125

target.ccD03-May-20247.2 KiB261174

target.hD03-May-202437.9 KiB1,103621

tilegx.ccD03-May-2024187.5 KiB4,9273,931

timer.ccD03-May-20243.1 KiB13487

timer.hD03-May-20241.8 KiB8132

tls.hD03-May-20242.5 KiB8241

token.hD03-May-20247.9 KiB336182

version.ccD03-May-20242.3 KiB8234

workqueue-internal.hD03-May-20242.8 KiB11048

workqueue-threads.ccD03-May-20244.7 KiB200111

workqueue.ccD03-May-202411.6 KiB522333

workqueue.hD03-May-20247.4 KiB296144

x86_64.ccD03-May-2024156.7 KiB4,9623,784

yyscript.yD03-May-202430.2 KiB1,143906

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-2014 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