sourCEntral - mobile manpages

pdf

GOLD

NAME

gold − The GNU ELF linker

SYNOPSIS

ld.gold [options] file...

OPTIONS

−−help

Report usage information

−v, −−version

Report version information

−V

Report version and target information

−−add−needed

Not supported

−−no−add−needed

Do not copy DT_NEEDED tags from shared libraries (default)

−−allow−multiple−definition Allow multiple definitions of symbols

−−no−allow−multiple−definition

Do not allow multiple definitions (default)

−−allow−shlib−undefined

Allow unresolved references in shared libraries

−−no−allow−shlib−undefined

Do not allow unresolved references in shared libraries (default)

−−apply−dynamic−relocs

Apply link−time values for dynamic relocations (default)

−−no−apply−dynamic−relocs

(aarch64 only) Do not apply link−time values for dynamic relocations

−−as−needed

Use DT_NEEDED only for shared libraries that are used

−−no−as−needed

Use DT_NEEDED for all shared libraries (default)

−assert [ignored]

Ignored

−b [elf,binary], −−format [elf,binary]

Set input format

−−be8

Output BE8 format image

−−build−id [=STYLE]

Generate build ID note

−−build−id−chunk−size−for−treehash SIZE

Chunk size for ’−−build−id=tree’

−−build−id−min−file−size−for−treehash SIZE

Minimum output file size for ’−−build−id=tree’ to work differently than ’−−build−id=sha1’

−Bdynamic −l searches for shared libraries (default)

−Bstatic −l does not search for shared libraries

−dy

alias for −Bdynamic (default)

−dn

alias for −Bstatic

−Bgroup

Use group name lookup rules for shared library

−Bshareable

Generate shared library (alias for −G/−shared)

−Bsymbolic

Bind defined symbols locally

−Bsymbolic−functions

Bind defined function symbols locally

−−check−sections

Check segment addresses for overlaps (default)

−−no−check−sections

Do not check segment addresses for overlaps

−−compress−debug−sections [none,zlib,zlib−gnu,zlib−gabi]

Compress .debug_* sections in the output file

−−copy−dt−needed−entries

Not supported

−−no−copy−dt−needed−entries Do not copy DT_NEEDED tags from shared libraries (default)

−−cref

Output cross reference table

−−no−cref

Do not output cross reference table (default)

−−ctors−in−init−array

Use DT_INIT_ARRAY for all constructors (default)

−−no−ctors−in−init−array

Handle constructors as directed by compiler

−d, −−define−common

Define common symbols

−−no−define−common

Do not define common symbols in relocatable output (default)

−dc

Alias for −d

−dp

Alias for −d

−−debug [all,files,script,task][,...]

Turn on debugging

−−defsym SYMBOL=EXPRESSION

Define a symbol

−−demangle [=STYLE]

Demangle C++ symbols in log messages

−−no−demangle

Do not demangle C++ symbols in log messages

−−detect−odr−violations

Look for violations of the C++ One Definition Rule

−−no−detect−odr−violations

Do not look for violations of the C++ One Definition Rule (default)

−−dynamic−list−data

Add data symbols to dynamic symbols

−−dynamic−list−cpp−new

Add C++ operator new/delete to dynamic symbols

−−dynamic−list−cpp−typeinfo Add C++ typeinfo to dynamic symbols

−−dynamic−list FILE

Read a list of dynamic symbols

−−emit−stub−syms

(PowerPC only) Label linker stubs with a symbol (default)

−−no−emit−stub−syms

(PowerPC only) Do not label linker stubs with a symbol

−e ADDRESS, −−entry ADDRESS Set program start address

−−eh−frame−hdr

Create exception frame header

−−no−eh−frame−hdr

Do not create exception frame header (default)

−−enable−new−dtags

Enable use of DT_RUNPATH (default)

−−disable−new−dtags

Disable use of DT_RUNPATH

−−no−enum−size−warning

(ARM only) Do not warn about objects with incompatible enum sizes

−−exclude−libs lib,lib ...

Exclude libraries from automatic export

−E, −−export−dynamic

Export all dynamic symbols

−−no−export−dynamic

Do not export all dynamic symbols (default)

−−export−dynamic−symbol SYMBOL

Export SYMBOL to dynamic symbol table

−EB

Link big−endian objects.

−EL

Link little−endian objects.

−f

SHLIB, −−auxiliary SHLIB Auxiliary filter for shared object symbol table

−F SHLIB, −−filter SHLIB

Filter for shared object symbol table

−−fatal−warnings

Treat warnings as errors

−−no−fatal−warnings

Do not treat warnings as errors (default)

−fini SYMBOL

Call SYMBOL at unload−time

−−fix−arm1176

(ARM only) Fix binaries for ARM1176 erratum (default)

−−no−fix−arm1176

(ARM only) Do not fix binaries for ARM1176 erratum

−−fix−cortex−a8

(ARM only) Fix binaries for Cortex−A8 erratum

−−no−fix−cortex−a8

(ARM only) Do not fix binaries for Cortex−A8 erratum (default)

−−fix−cortex−a53−843419

(AArch64 only) Fix Cortex−A53 erratum 843419

−−no−fix−cortex−a53−843419

(AArch64 only) Do not fix Cortex−A53 erratum 843419 (default)

−−fix−cortex−a53−835769

(AArch64 only) Fix Cortex−A53 erratum 835769

−−no−fix−cortex−a53−835769

(AArch64 only) Do not fix Cortex−A53 erratum 835769 (default)

−−fix−v4bx

(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4

−−fix−v4bx−interworking

(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer

−fuse−ld

Ignored for GCC linker option compatibility

−g

Ignored

−−gc−sections

Remove unused sections

−−no−gc−sections

Don’t remove unused sections (default)

−−gdb−index

Generate .gdb_index section

−−no−gdb−index

Do not generate .gdb_index section (default)

−−gnu−unique

Enable STB_GNU_UNIQUE symbol binding (default)

−−no−gnu−unique

Disable STB_GNU_UNIQUE symbol binding

−G, −shared

Generate shared library

−h FILENAME, −soname FILENAME

Set shared library name

−−hash−bucket−empty−fraction FRACTION

Min fraction of empty buckets in dynamic hash

−−hash−style [sysv,gnu,both]

Dynamic hash style

−i

Alias for −r

−−icf [none,all,safe]

Identical Code Folding. ’−−icf=safe’ Folds ctors, dtors and functions whose pointers are definitely not taken

−−icf−iterations COUNT

Number of iterations of ICF (default 2)

−−incremental

Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking

−−no−incremental

Do a full link (default)

−−incremental−full

Do a full link and prepare output for incremental linking

−−incremental−update

Do an incremental link; exit if not possible

−−incremental−base FILE

Set base file for incremental linking (default is output file)

−−incremental−changed

Assume files changed

−−incremental−unchanged

Assume files didn’t change

−−incremental−unknown

Use timestamps to check files (default)

−−incremental−startup−unchanged

Assume startup files unchanged (files preceding this option)

−−incremental−patch PERCENT Amount of extra space to allocate for patches (default 10)

−init SYMBOL

Call SYMBOL at load−time

−I PROGRAM, −−dynamic−linker PROGRAM

Set dynamic linker path

−−just−symbols FILE

Read only symbol values from FILE

−−keep−files−mapped

Keep files mapped across passes (default)

−−no−keep−files−mapped

Release mapped files after each pass

−−keep−unique SYMBOL

Do not fold this symbol during ICF

−l LIBNAME, −−library LIBNAME

Search for library LIBNAME

−−ld−generated−unwind−info

Generate unwind information for PLT (default)

−−no−ld−generated−unwind−info

Do not generate unwind information for PLT

−L DIR, −−library−path DIR

Add directory to search path

−−long−plt

(ARM only) Generate long PLT entries

−−no−long−plt

(ARM only) Do not generate long PLT entries (default)

−m EMULATION

Set GNU linker emulation; obsolete

−−map−whole−files

Map whole files to memory (default)

−−no−map−whole−files

Map relevant file parts to memory

−−merge−exidx−entries

(ARM only) Merge exidx entries in debuginfo (default)

−−no−merge−exidx−entries

(ARM only) Do not merge exidx entries in debuginfo

−−mmap−output−file

Map the output file for writing (default)

−−no−mmap−output−file

Do not map the output file for writing

−M, −−print−map

Write map file on standard output

−Map MAPFILENAME

Write map file

−n, −−nmagic

Do not page align data

−N, −−omagic

Do not page align data, do not make text readonly

−−no−omagic

Page align data, make text readonly (default)

−−no−keep−memory

Use less memory and more disk I/O (included only for compatibility with GNU ld)

−−no−undefined

Report undefined symbols (even with −−shared)

−−noinhibit−exec

Create an output file even if errors occur

−nostdlib

Only search directories specified on the command line

−o FILE, −−output FILE

Set output file name

−−oformat [binary]

Set output format

−O LEVEL, −optimize LEVEL

Optimize output file size

−−orphan−handling [place,discard,warn,error]

Orphan section handling

−p

Ignored for ARM compatibility

−pie

Create a position independent executable

−no−pie

Do not create a position independent executable (default)

−−pic−executable

Create a position independent executable

−−no−pic−executable

Do not create a position independent executable (default)

−−pic−veneer

Force PIC sequences for ARM/Thumb interworking veneers

−no−pipeline−knowledge

(ARM only) Ignore for backward compatibility (default)

−−plt−align [=P2ALIGN]

(PowerPC64 only) Align PLT call stubs to fit cache lines

−−plt−localentry

(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions

−−no−plt−localentry

(PowerPC64 only) Don’t optimize ELFv2 calls (default)

−−plt−static−chain

(PowerPC64 only) PLT call stubs should load r11

−−no−plt−static−chain

(PowerPC64 only) PLT call stubs should not load r11 (default)

−−plt−thread−safe

(PowerPC64 only) PLT call stubs with load−load barrier

−−no−plt−thread−safe

(PowerPC64 only) PLT call stubs without barrier (default)

−−plugin PLUGIN

Load a plugin library

−−plugin−opt OPTION

Pass an option to the plugin

−−posix−fallocate

Use posix_fallocate to reserve space in the output file (default)

−−no−posix−fallocate

Use fallocate or ftruncate to reserve space

−−preread−archive−symbols

Preread archive symbols when multi−threaded

−−print−gc−sections

List removed unused sections on stderr

−−no−print−gc−sections

Do not list removed unused sections (default)

−−print−icf−sections

List folded identical sections on stderr

−−no−print−icf−sections

Do not list folded identical sections (default)

−−print−output−format

Print default output format

−−print−symbol−counts FILENAME

Print symbols defined and used for each input

−−push−state

Save the state of flags related to input files

−−pop−state

Restore the state of flags related to input files

−q, −−emit−relocs

Generate relocations in output

−Qy

Ignored for SVR4 compatibility

−r, −relocatable

Generate relocatable output

−−relax

Relax branches on certain targets

−−no−relax

Do not relax branches (default)

−−retain−symbols−file FILE

keep only symbols listed in this file

−−rosegment

Put read−only non−executable sections in their own segment

−−rosegment−gap OFFSET

Set offset between executable and read−only segments

−R DIR

Add DIR to runtime search path

−rpath DIR

Add DIR to runtime search path

−−rpath−link DIR

Add DIR to link time shared library search path

−s, −−strip−all

Strip all symbols

−S, −−strip−debug

Strip debugging information

−−strip−debug−non−line

Emit only debug line number information

−−strip−debug−gdb

Strip debug symbols that are unused by gdb (at least versions <= 7.4)

−−strip−lto−sections

Strip LTO intermediate code sections (default)

−−section−ordering−file FILENAME

Layout sections in the order specified

−−section−start SECTION=ADDRESS

Set address of section

−−secure−plt

(PowerPC only) Use new−style PLT (default)

−−sort−common [={ascending,descending}]

Sort common symbols by alignment

−−sort−section [none,name]

Sort sections by name. ’−−no−text−reorder’ will override ’−−sort−section=name’ for .text

−−spare−dynamic−tags COUNT

Dynamic tag slots to reserve (default 5)

−−stub−group−size SIZE

(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size

−−stub−group−multi

(PowerPC only) Allow a group of stubs to serve multiple output sections (default)

−−no−stub−group−multi

(PowerPC only) Each output section has its own stubs

−−split−stack−adjust−size SIZE

Stack size when −fsplit−stack function calls non−split

−static

Do not link against shared libraries

−−start−lib

Start a library

−−end−lib

End a library

−−stats

Print resource usage statistics

−−sysroot DIR

Set target system root directory

−t, −−trace

Print the name of each input file

−−target1−abs

(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32

−−target1−rel

(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32

−−target2 [rel, abs, got−rel

(ARM only) Set R_ARM_TARGET2 relocation type

−−text−reorder

Enable text section reordering for GCC section names (default)

−−no−text−reorder

Disable text section reordering for GCC section names

−−threads

Run the linker multi−threaded

−−no−threads

Do not run the linker multi−threaded (default)

−−thread−count COUNT

Number of threads to use

−−thread−count−initial COUNT

Number of threads to use in initial pass

−−thread−count−middle COUNT Number of threads to use in middle pass

−−thread−count−final COUNT

Number of threads to use in final pass

−−toc−optimize

(PowerPC64 only) Optimize TOC code sequences (default)

−−no−toc−optimize

(PowerPC64 only) Don’t optimize TOC code sequences

−−toc−sort

(PowerPC64 only) Sort TOC and GOT sections (default)

−−no−toc−sort

(PowerPC64 only) Don’t sort TOC and GOT sections

−T FILE, −−script FILE

Read linker script

−Tbss ADDRESS

Set the address of the bss segment

−Tdata ADDRESS

Set the address of the data segment

−Ttext ADDRESS

Set the address of the text segment

−Ttext−segment ADDRESS

Set the address of the text segment

−Trodata−segment ADDRESS

Set the address of the rodata segment

−u SYMBOL, −−undefined SYMBOL

Create undefined reference to SYMBOL

−−unresolved−symbols
ignore−all,report−all,ignore−in−object−files,ignore−in−shared−libs

How to handle unresolved symbols

−−verbose

Alias for −−debug=files

−−version−script FILE

Read version script

−−warn−common

Warn about duplicate common symbols

−−no−warn−common

Do not warn about duplicate common symbols (default)

−−warn−constructors

Ignored

−−no−warn−constructors

Ignored

−−warn−execstack

Warn if the stack is executable

−−no−warn−execstack

Do not warn if the stack is executable (default)

−−no−warn−mismatch

Don’t warn about mismatched input files

−−warn−multiple−gp

Ignored

−−warn−search−mismatch

Warn when skipping an incompatible library (default)

−−no−warn−search−mismatch

Don’t warn when skipping an incompatible library

−−warn−shared−textrel

Warn if text segment is not shareable

−−no−warn−shared−textrel

Do not warn if text segment is not shareable (default)

−−warn−unresolved−symbols

Report unresolved symbols as warnings

−−error−unresolved−symbols

Report unresolved symbols as errors (default)

−z buildd

Dummy z option

−−no−wchar−size−warning

(ARM only) Do not warn about objects with incompatible wchar_t sizes

−−weak−unresolved−symbols

Convert unresolved symbols to weak references

−−whole−archive

Include all archive contents

−−no−whole−archive

Include only needed archive contents (default)

−−wrap SYMBOL

Use wrapper functions for SYMBOL

−x, −−discard−all

Delete all local symbols

−X, −−discard−locals

Delete all temporary local symbols

−−discard−none

Keep all local symbols

−y SYMBOL, −−trace−symbol SYMBOL

Trace references to symbol

−−undefined−version

Allow unused version in script (default)

−−no−undefined−version

Do not allow unused version in script

−Y PATH

Default search path for Solaris compatibility

−(, −−start−group

Start a library search group

−), −−end−group

End a library search group

−z bndplt

(x86−64 only) Generate a BND PLT for Intel MPX

−z nobndplt

Generate a regular PLT (default)

−z combreloc

Sort dynamic relocs (default)

−z nocombreloc

Do not sort dynamic relocs

−z common−page−size=SIZE

Set common page size to SIZE

−z defs

Report undefined symbols (even with −−shared)

−z execstack

Mark output as requiring executable stack

−z global

Make symbols in DSO available for subsequently loaded objects

−z initfirst

Mark DSO to be initialized first at runtime

−z interpose

Mark object to interpose all DSOs but executable

−z lazy

Mark object for lazy runtime binding (default)

−z loadfltr

Mark object requiring immediate process

−z max−page−size=SIZE

Set maximum page size to SIZE

−z muldefs

Allow multiple definitions of symbols

−z nocopyreloc

Do not create copy relocs

−z nodefaultlib

Mark object not to use default search paths

−z nodelete

Mark DSO non−deletable at runtime

−z nodlopen

Mark DSO not available to dlopen

−z nodump

Mark DSO not available to dldump

−z noexecstack

Mark output as not requiring executable stack

−z now

Mark object for immediate function binding

−z origin

Mark DSO to indicate that needs immediate $ORIGIN processing at runtime

−z relro

Where possible mark variables read−only after relocation (default)

−z norelro

Don’t mark variables read−only after relocation

−z stack−size=SIZE

Set PT_GNU_STACK segment p_memsz to SIZE

−z text

Do not permit relocations in read−only segments

−z notext

Permit relocations in read−only segments (default)

−z textoff

Permit relocations in read−only segments (default)

debian/tmp/usr/bin/ld.gold: supported targets: elf32−iamcu elf32−i386 elf32−i386−freebsd elf32−i386−nacl elf32−x86−64 elf32−x86−64−freebsd elf32−x86−64−nacl elf64−x86−64 elf64−x86−64−freebsd elf64−x86−64−nacl debian/tmp/usr/bin/ld.gold: supported emulations: elf_iamcu elf_i386 elf_i386_nacl elf32_x86_64 elf32_x86_64_nacl elf_x86_64 elf_x86_64_nacl

REPORTING BUGS

Report bugs to <http://www.sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2017 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.

pdf