Linux cli command x86_64-linux-gnu-gold

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gold and provides detailed information about the command x86_64-linux-gnu-gold, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gold.

NAME 🖥️ x86_64-linux-gnu-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)

-Bno-symbolic
Don’t bind default visibility defined symbols locally for -shared (default)

-Bsymbolic-functions
Bind default visibility defined function symbols locally for -shared

-Bsymbolic
Bind default visibility defined symbols locally for -shared

–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,zstd]
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

–dependency-file FILE
Write a dependency file listing all files read

–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

–enable-linker-version
Put the linker version string into the .comment section

–disable-linker-version
Put the linker version string into the .note.gnu.gold-version section (default)

–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 [gold,bfd]
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 3)

–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 on 64bit architectures)

–no-keep-files-mapped
Release mapped files after each pass (default on 32bit architectures)

–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 on 64bit architectures)

–no-map-whole-files
Map relevant file parts to memory (default on 32bit architectures)

–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

–package-metadata [=JSON]
Generate package metadata note

-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]
(PowerPC 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

–power10-stubs [=auto,no,yes]
(PowerPC64 only) stubs use power10 insns

–no-power10-stubs
(PowerPC64 only) stubs do not use power10 insns

–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

–no-rosegment
Do not put read-only non-executable sections in their own segment (default)

–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

–tls-optimize
(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default)

–no-tls-optimize
(PowerPC/64 only) Don’‘’t try to optimize TLS accesses

–tls-get-addr-optimize
(PowerPC/64 only) Use a special __tls_get_addr call (default)

–no-tls-get-addr-optimize
(PowerPC/64 only) Don’t use a special __tls_get_addr call

–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-drop-version
Warn when discarding version information

–no-warn-drop-version
Do not warn when discarding version information (default)

–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 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 unique
Mark DSO to be loaded at most once, and only in the main namespace

-z nounique
Do not mark the DSO as one to be loaded only in the main namespace (default)

-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 start-stop-visibility=[default,internal,hidden,protected]
ELF symbol visibility for synthesized __start_* and __stop_* symbols

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

-z text-unlikely-segment
Move .text.unlikely sections to a separate segment.

-z notext-unlikely-segment
Do not move .text.unlikely sections to a separate segment. (default)

-z keep-text-section-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary.

-z nokeep-text-section-prefix
Merge all .text.* prefix sections. (default)

Run gold –help for a list of supported targets and emulations.

REPORTING BUGS

Report bugs to <https://sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2024 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.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░