Name Date Size #Lines LOC

..--

po/H09-Jul-2024-40,28331,523

ChangeLogH A D09-Jul-20247.8 KiB246176

ChangeLog-0815H A D09-Jul-2024737.1 KiB18,14015,473

ChangeLog-2016H A D09-Jul-202464.3 KiB1,6691,396

ChangeLog-2017H A D09-Jul-202430.7 KiB849661

ChangeLog-2018H A D09-Jul-202429.7 KiB786629

ChangeLog-2019H A D09-Jul-202410.4 KiB289223

ChangeLog-2020H A D09-Jul-202419.5 KiB581447

Makefile.amH A D09-Jul-202411.5 KiB400301

Makefile.inH A D09-Jul-202461.4 KiB1,6831,476

NEWSH A D09-Jul-20242.2 KiB10657

READMEH A D09-Jul-20242.8 KiB7053

TODOH A D09-Jul-2024969 2719

aarch64-reloc-property.ccH A D09-Jul-20245.1 KiB198143

aarch64-reloc-property.hH A D09-Jul-20247 KiB246148

aarch64-reloc.defH A D09-Jul-202413.8 KiB131113

aarch64.ccH A D09-Jul-2024269.4 KiB8,6066,340

aclocal.m4H A D09-Jul-202443.6 KiB1,2111,100

archive.ccH A D09-Jul-202438 KiB1,367996

archive.hH A D09-Jul-202415.1 KiB576333

arm-reloc-property.ccH A D09-Jul-20249.3 KiB334239

arm-reloc-property.hH A D09-Jul-202411.2 KiB387227

arm-reloc.defH A D09-Jul-202413.2 KiB195188

arm.ccH A D09-Jul-2024422.5 KiB13,2319,451

attributes.ccH A D09-Jul-202413.4 KiB459316

attributes.hH A D09-Jul-202410.9 KiB412249

binary.ccH A D09-Jul-202410.6 KiB371261

binary.hH A D09-Jul-20243.2 KiB11859

common.ccH A D09-Jul-20249.6 KiB365260

common.hH A D09-Jul-20241.6 KiB6830

compressed_output.ccH A D09-Jul-202410.4 KiB343254

compressed_output.hH A D09-Jul-20242.6 KiB8733

config.inH A D09-Jul-20248.2 KiB315224

configureH A D09-Jul-2024346.6 KiB12,0369,752

configure.acH A D09-Jul-202422.4 KiB712631

configure.tgtH A D09-Jul-20244.3 KiB188177

copy-relocs.ccH A D09-Jul-20248.7 KiB293192

copy-relocs.hH A D09-Jul-20245.9 KiB16784

cref.ccH A D09-Jul-202410.4 KiB412266

cref.hH A D09-Jul-20242 KiB8031

debug.hH A D09-Jul-20242.5 KiB8849

defstd.ccH A D09-Jul-20247.6 KiB289252

defstd.hH A D09-Jul-20241.1 KiB379

descriptors.ccH A D09-Jul-20247.9 KiB299200

descriptors.hH A D09-Jul-20243.6 KiB11846

dirsearch.ccH A D09-Jul-20247 KiB306202

dirsearch.hH A D09-Jul-20242.8 KiB9136

dwarf_reader.ccH A D09-Jul-202484.2 KiB2,8822,238

dwarf_reader.hH A D09-Jul-202435.4 KiB1,184702

dwp.ccH A D09-Jul-202471.9 KiB2,4521,759

dwp.hH A D09-Jul-20243.2 KiB12567

dynobj.ccH A D09-Jul-202454.8 KiB2,0221,537

dynobj.hH A D09-Jul-202418.8 KiB689393

ehframe.ccH A D09-Jul-202439.7 KiB1,370959

ehframe.hH A D09-Jul-202416.5 KiB547326

errors.ccH A D09-Jul-202410.2 KiB449324

errors.hH A D09-Jul-20244.1 KiB14463

expression.ccH A D09-Jul-202435.5 KiB1,3641,070

ffsll.cH A D09-Jul-20241.4 KiB4918

fileread.ccH A D09-Jul-202430 KiB1,179880

fileread.hH A D09-Jul-202417.4 KiB624316

freebsd.hH A D09-Jul-20243 KiB10460

ftruncate.cH A D09-Jul-20242.4 KiB11258

gc.ccH A D09-Jul-20242.2 KiB6935

gc.hH A D09-Jul-202412.7 KiB381277

gdb-index.ccH A D09-Jul-202440 KiB1,360953

gdb-index.hH A D09-Jul-20247.3 KiB265156

gold-threads.ccH A D09-Jul-20249 KiB451298

gold-threads.hH A D09-Jul-20245.6 KiB268144

gold.ccH A D09-Jul-202429.7 KiB913645

gold.hH A D09-Jul-20249.1 KiB318177

i386.ccH A D09-Jul-2024139.8 KiB4,4633,372

icf.ccH A D09-Jul-202442.5 KiB1,140694

icf.hH A D09-Jul-20246.7 KiB210112

incremental-dump.ccH A D09-Jul-202416.9 KiB519426

incremental.ccH A D09-Jul-202496.6 KiB3,1352,349

incremental.hH A D09-Jul-202464.1 KiB2,2631,417

int_encoding.ccH A D09-Jul-20243.3 KiB13082

int_encoding.hH A D09-Jul-20244.9 KiB15986

layout.ccH A D09-Jul-2024198 KiB6,4644,678

layout.hH A D09-Jul-202451.9 KiB1,737964

main.ccH A D09-Jul-202410.6 KiB338221

mapfile.ccH A D09-Jul-202410.2 KiB413302

mapfile.hH A D09-Jul-20242.9 KiB11955

merge.ccH A D09-Jul-202419.2 KiB692482

merge.hH A D09-Jul-202415.4 KiB515274

mips.ccH A D09-Jul-2024439.9 KiB12,7039,194

mremap.cH A D09-Jul-20242.4 KiB8844

nacl.ccH A D09-Jul-20241.3 KiB4820

nacl.hH A D09-Jul-20246.9 KiB244190

object.ccH A D09-Jul-2024111.3 KiB3,7222,774

object.hH A D09-Jul-202494.2 KiB3,0911,868

options.ccH A D09-Jul-202445.6 KiB1,6661,269

options.hH A D09-Jul-202487.1 KiB2,4551,627

output.ccH A D09-Jul-2024156.9 KiB5,5754,175

output.hH A D09-Jul-2024145.6 KiB4,9293,028

parameters.ccH A D09-Jul-20249.6 KiB389271

parameters.hH A D09-Jul-20246.3 KiB247127

plugin.ccH A D09-Jul-202461.4 KiB2,3201,720

plugin.hH A D09-Jul-202417 KiB656385

powerpc.ccH A D09-Jul-2024384.4 KiB13,07211,067

pread.cH A D09-Jul-20241.4 KiB4312

readsyms.ccH A D09-Jul-202425.5 KiB947656

readsyms.hH A D09-Jul-202412.6 KiB492312

reduced_debug_output.ccH A D09-Jul-202414 KiB377305

reduced_debug_output.hH A D09-Jul-20244.2 KiB14169

reloc-types.hH A D09-Jul-20242.7 KiB8543

reloc.ccH A D09-Jul-202453.9 KiB1,9291,438

reloc.hH A D09-Jul-202438.3 KiB1,202851

resolve.ccH A D09-Jul-202439.4 KiB1,213839

s390.ccH A D09-Jul-2024146.7 KiB4,9753,939

script-c.hH A D09-Jul-202415.8 KiB568313

script-sections.ccH A D09-Jul-2024128 KiB4,5973,220

script-sections.hH A D09-Jul-202410.7 KiB343162

script.ccH A D09-Jul-202496.3 KiB3,4512,427

script.hH A D09-Jul-202418.9 KiB616310

sparc.ccH A D09-Jul-2024133.7 KiB4,5373,543

stringpool.ccH A D09-Jul-202415.4 KiB536372

stringpool.hH A D09-Jul-202412.6 KiB422202

symtab.ccH A D09-Jul-2024118.2 KiB4,0363,067

symtab.hH A D09-Jul-202464.2 KiB2,0581,121

system.hH A D09-Jul-20244.8 KiB178106

target-reloc.hH A D09-Jul-202432.3 KiB1,001699

target-select.ccH A D09-Jul-20245.6 KiB220140

target-select.hH A D09-Jul-20248.4 KiB279125

target.ccH A D09-Jul-20247.3 KiB263176

target.hH A D09-Jul-202441 KiB1,194680

tilegx.ccH A D09-Jul-2024189 KiB4,9753,979

timer.ccH A D09-Jul-20243.1 KiB13487

timer.hH A D09-Jul-20241.8 KiB8132

tls.hH A D09-Jul-20242.5 KiB8241

token.hH A D09-Jul-20247.9 KiB336182

version.ccH A D09-Jul-20242.3 KiB8234

workqueue-internal.hH A D09-Jul-20242.8 KiB11048

workqueue-threads.ccH A D09-Jul-20244.7 KiB200111

workqueue.ccH A D09-Jul-202411.6 KiB522333

workqueue.hH A D09-Jul-20247.4 KiB296144

x86_64.ccH A D09-Jul-2024206.1 KiB6,5244,958

yyscript.cH A D09-Jul-2024152.4 KiB3,9863,194

yyscript.hH A D09-Jul-202411 KiB323258

yyscript.yH A D09-Jul-202430.4 KiB1,152915

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