Usage: /usr/x86_64-pc-linux-gnu/bin/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)
--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
--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)
--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)
/usr/x86_64-pc-linux-gnu/bin/ld.gold: supported targets: elf64-s390 elf32-s390 elf64-littleaarch64 elf64-bigaarch64 elf32-littleaarch64 elf32-bigaarch64 elf64-tradlittlemips elf64-tradbigmips elf32-tradlittlemips elf32-tradbigmips elf32-tilegx-be elf64-tilegx-be elf32-tilegx-le elf64-tilegx-le elf32-bigarm elf32-littlearm elf64-powerpcle elf64-powerpc elf32-powerpcle elf32-powerpc elf64-sparc elf32-sparc elf32-x86-64 elf32-x86-64-freebsd elf64-x86-64 elf64-x86-64-freebsd elf32-iamcu elf32-i386 elf32-i386-freebsd
/usr/x86_64-pc-linux-gnu/bin/ld.gold: supported emulations: elf64_s390 elf32_s390 aarch64_elf64_le_vec aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec elf64ltsmip elf64btsmip elf32ltsmip elf32btsmip elf32tilegx_be elf64tilegx_be elf32tilegx elf64tilegx armelfb armelf elf64lppc elf64ppc elf32lppc elf32ppc elf64_sparc elf32_sparc elf32_x86_64 elf_x86_64 elf_iamcu elf_i386
Report bugs to <https://sourceware.org/bugzilla/>
Options (250)
| Option | Description | Source |
|---|---|---|
--help | Report usage information | help |
-v, --version | Report version information | help |
-V | Report version and target information | help |
--add-needed | Not supported | help |
--no-add-needed | Do not copy DT_NEEDED tags from shared libraries (default) | help |
--no-allow-multiple-definition | Do not allow multiple definitions (default) | help |
--allow-shlib-undefined | Allow unresolved references in shared libraries | help |
--no-allow-shlib-undefined | Do not allow unresolved references in shared libraries (default) | help |
--apply-dynamic-relocs | Apply link-time values for dynamic relocations (default) | help |
--no-apply-dynamic-relocs | (aarch64 only) Do not apply link-time values for dynamic relocations | help |
--as-needed | Use DT_NEEDED only for shared libraries that are used | help |
--no-as-needed | Use DT_NEEDED for all shared libraries (default) | help |
-assert ignored | Ignored | help |
--be8 | Output BE8 format image | help |
--build-id STYLE | Generate build ID note | help |
--build-id-chunk-size-for-treehash SIZE | Chunk size for '--build-id=tree' | help |
--build-id-min-file-size-for-treehash SIZE | Minimum output file size for '--build-id=tree' to work differently than '--build-id=sha1' | help |
-Bdynamic | -l searches for shared libraries (default) | help |
-Bstatic | -l does not search for shared libraries | help |
-dy | alias for -Bdynamic (default) | help |
-dn | alias for -Bstatic | help |
-Bgroup | Use group name lookup rules for shared library | help |
-Bshareable | Generate shared library (alias for -G/-shared) | help |
-Bno-symbolic | Don't bind default visibility defined symbols locally for -shared (default) | help |
-Bsymbolic-functions | Bind default visibility defined function symbols locally for -shared | help |
-Bsymbolic | Bind default visibility defined symbols locally for -shared | help |
--check-sections | Check segment addresses for overlaps (default) | help |
--no-check-sections | Do not check segment addresses for overlaps | help |
--compress-debug-sections none | Compress .debug_* sections in the output file | help |
--copy-dt-needed-entries | Not supported | help |
--cref | Output cross reference table | help |
--no-cref | Do not output cross reference table (default) | help |
--ctors-in-init-array | Use DT_INIT_ARRAY for all constructors (default) | help |
--no-ctors-in-init-array | Handle constructors as directed by compiler | help |
-d, --define-common | Define common symbols | help |
--no-define-common | Do not define common symbols in relocatable output (default) | help |
-dc | Alias for -d | help |
-dp | Alias for -d | help |
--debug all | Turn on debugging | help |
--defsym SYMBOL=EXPRESSION | Define a symbol | help |
--demangle STYLE | Demangle C++ symbols in log messages | help |
--no-demangle | Do not demangle C++ symbols in log messages | help |
--dependency-file FILE | Write a dependency file listing all files read | help |
--detect-odr-violations | Look for violations of the C++ One Definition Rule | help |
--no-detect-odr-violations | Do not look for violations of the C++ One Definition Rule (default) | help |
--dynamic-list-data | Add data symbols to dynamic symbols | help |
--dynamic-list-cpp-new | Add C++ operator new/delete to dynamic symbols | help |
--dynamic-list FILE | Read a list of dynamic symbols | help |
--emit-stub-syms | (PowerPC only) Label linker stubs with a symbol (default) | help |
--no-emit-stub-syms | (PowerPC only) Do not label linker stubs with a symbol | help |
--eh-frame-hdr | Create exception frame header | help |
--no-eh-frame-hdr | Do not create exception frame header (default) | help |
--enable-new-dtags | Enable use of DT_RUNPATH (default) | help |
--disable-new-dtags | Disable use of DT_RUNPATH | help |
--enable-linker-version | Put the linker version string into the .comment section | help |
--disable-linker-version | Put the linker version string into the .note.gnu.gold-version section (default) | help |
--no-enum-size-warning | (ARM only) Do not warn about objects with incompatible enum sizes | help |
--exclude-libs lib | Exclude libraries from automatic export | help |
-E, --export-dynamic | Export all dynamic symbols | help |
--no-export-dynamic | Do not export all dynamic symbols (default) | help |
--export-dynamic-symbol SYMBOL | Export SYMBOL to dynamic symbol table | help |
-EB | Link big-endian objects. | help |
-EL | Link little-endian objects. | help |
-F, --filter SHLIB | Filter for shared object symbol table | help |
--fatal-warnings | Treat warnings as errors | help |
--no-fatal-warnings | Do not treat warnings as errors (default) | help |
-fini SYMBOL | Call SYMBOL at unload-time | help |
--fix-arm1176 | (ARM only) Fix binaries for ARM1176 erratum (default) | help |
--no-fix-arm1176 | (ARM only) Do not fix binaries for ARM1176 erratum | help |
--fix-cortex-a8 | (ARM only) Fix binaries for Cortex-A8 erratum | help |
--no-fix-cortex-a8 | (ARM only) Do not fix binaries for Cortex-A8 erratum (default) | help |
--fix-cortex-a53-843419 | (AArch64 only) Fix Cortex-A53 erratum 843419 | help |
--no-fix-cortex-a53-843419 | (AArch64 only) Do not fix Cortex-A53 erratum 843419 (default) | help |
--fix-cortex-a53-835769 | (AArch64 only) Fix Cortex-A53 erratum 835769 | help |
--no-fix-cortex-a53-835769 | (AArch64 only) Do not fix Cortex-A53 erratum 835769 (default) | help |
--fix-v4bx | (ARM only) Rewrite BX rn as MOV pc, rn for ARMv4 | help |
--fix-v4bx-interworking | (ARM only) Rewrite BX rn branch to ARMv4 interworking veneer | help |
-fuse-ld gold | Ignored for GCC linker option compatibility | help |
-g | Ignored | help |
--gc-sections | Remove unused sections | help |
--no-gc-sections | Don't remove unused sections (default) | help |
--gdb-index | Generate .gdb_index section | help |
--no-gdb-index | Do not generate .gdb_index section (default) | help |
--gnu-unique | Enable STB_GNU_UNIQUE symbol binding (default) | help |
--no-gnu-unique | Disable STB_GNU_UNIQUE symbol binding | help |
-G, -shared | Generate shared library | help |
--hash-bucket-empty-fraction FRACTION | Min fraction of empty buckets in dynamic hash | help |
--hash-style sysv | Dynamic hash style | help |
-i | Alias for -r | help |
--icf none | Identical Code Folding. | help |
--icf-iterations COUNT | Number of iterations of ICF (default 3) | help |
--incremental | Do an incremental link if possible; | help |
--no-incremental | Do a full link (default) | help |
--incremental-full | Do a full link and prepare output for incremental linking | help |
--incremental-update | Do an incremental link; | help |
--incremental-base FILE | Set base file for incremental linking (default is output file) | help |
--incremental-changed | Assume files changed | help |
--incremental-unchanged | Assume files didn't change | help |
--incremental-unknown | Use timestamps to check files (default) | help |
--incremental-startup-unchanged | Assume startup files unchanged (files preceding this option) | help |
-init SYMBOL | Call SYMBOL at load-time | help |
--just-symbols FILE | Read only symbol values from FILE | help |
--keep-files-mapped | Keep files mapped across passes (default) | help |
--no-keep-files-mapped | Release mapped files after each pass | help |
--keep-unique SYMBOL | Do not fold this symbol during ICF | help |
--ld-generated-unwind-info | Generate unwind information for PLT (default) | help |
--no-ld-generated-unwind-info | Do not generate unwind information for PLT | help |
-L, --library-path DIR | Add directory to search path | help |
--long-plt | (ARM only) Generate long PLT entries | help |
--no-long-plt | (ARM only) Do not generate long PLT entries (default) | help |
-m EMULATION | Set GNU linker emulation; | help |
--map-whole-files | Map whole files to memory (default) | help |
--no-map-whole-files | Map relevant file parts to memory | help |
--merge-exidx-entries | (ARM only) Merge exidx entries in debuginfo (default) | help |
--no-merge-exidx-entries | (ARM only) Do not merge exidx entries in debuginfo | help |
--mmap-output-file | Map the output file for writing (default) | help |
--no-mmap-output-file | Do not map the output file for writing | help |
-M, --print-map | Write map file on standard output | help |
-Map MAPFILENAME | Write map file | help |
-n, --nmagic | Do not page align data | help |
-N, --omagic | Do not page align data, do not make text readonly | help |
--no-omagic | Page align data, make text readonly (default) | help |
--no-keep-memory | Use less memory and more disk I/O (included only for compatibility with GNU ld) | help |
--no-undefined | Report undefined symbols (even with --shared) | help |
--noinhibit-exec | Create an output file even if errors occur | help |
-nostdlib | Only search directories specified on the command line | help |
-o, --output FILE | Set output file name | help |
--oformat binary | Set output format | help |
-O, -optimize LEVEL | Optimize output file size | help |
--orphan-handling place | Orphan section handling | help |
-p | Ignored for ARM compatibility | help |
--package-metadata JSON | Generate package metadata note | help |
-pie | Create a position independent executable | help |
-no-pie | Do not create a position independent executable (default) | help |
--pic-executable | Create a position independent executable | help |
--no-pic-executable | Do not create a position independent executable (default) | help |
--pic-veneer | Force PIC sequences for ARM/Thumb interworking veneers | help |
-no-pipeline-knowledge | (ARM only) Ignore for backward compatibility (default) | help |
--plt-align P2ALIGN | (PowerPC only) Align PLT call stubs to fit cache lines | help |
--plt-localentry | (PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions | help |
--no-plt-localentry | (PowerPC64 only) Don't optimize ELFv2 calls (default) | help |
--plt-static-chain | (PowerPC64 only) PLT call stubs should load r11 | help |
--no-plt-static-chain | (PowerPC64 only) PLT call stubs should not load r11 (default) | help |
--plt-thread-safe | (PowerPC64 only) PLT call stubs with load-load barrier | help |
--no-plt-thread-safe | (PowerPC64 only) PLT call stubs without barrier (default) | help |
--plugin PLUGIN | Load a plugin library | help |
--plugin-opt OPTION | Pass an option to the plugin | help |
--posix-fallocate | Use posix_fallocate to reserve space in the output file (default) | help |
--no-posix-fallocate | Use fallocate or ftruncate to reserve space | help |
--power10-stubs auto | (PowerPC64 only) stubs use power10 insns | help |
--no-power10-stubs | (PowerPC64 only) stubs do not use power10 insns | help |
--preread-archive-symbols | Preread archive symbols when multi-threaded | help |
--print-gc-sections | List removed unused sections on stderr | help |
--no-print-gc-sections | Do not list removed unused sections (default) | help |
--print-icf-sections | List folded identical sections on stderr | help |
--no-print-icf-sections | Do not list folded identical sections (default) | help |
--print-output-format | Print default output format | help |
--print-symbol-counts FILENAME | Print symbols defined and used for each input | help |
--push-state | Save the state of flags related to input files | help |
--pop-state | Restore the state of flags related to input files | help |
-q, --emit-relocs | Generate relocations in output | help |
-Qy | Ignored for SVR4 compatibility | help |
-r, -relocatable | Generate relocatable output | help |
--relax | Relax branches on certain targets | help |
--no-relax | Do not relax branches (default) | help |
--retain-symbols-file FILE | keep only symbols listed in this file | help |
--rosegment | Put read-only non-executable sections in their own segment | help |
--no-rosegment | Do not put read-only non-executable sections in their own segment (default) | help |
--rosegment-gap OFFSET | Set offset between executable and read-only segments | help |
-R DIR | Add DIR to runtime search path | help |
-rpath DIR | Add DIR to runtime search path | help |
--rpath-link DIR | Add DIR to link time shared library search path | help |
-s, --strip-all | Strip all symbols | help |
-S, --strip-debug | Strip debugging information | help |
--strip-debug-non-line | Emit only debug line number information | help |
--strip-debug-gdb | Strip debug symbols that are unused by gdb (at least versions <= 7.4) | help |
--strip-lto-sections | Strip LTO intermediate code sections (default) | help |
--section-ordering-file FILENAME | Layout sections in the order specified | help |
--section-start SECTION=ADDRESS | Set address of section | help |
--secure-plt | (PowerPC only) Use new-style PLT (default) | help |
--sort-common ascending | Sort common symbols by alignment | help |
--sort-section none | Sort sections by name. | help |
--spare-dynamic-tags COUNT | Dynamic tag slots to reserve (default 5) | help |
--stub-group-size SIZE | (ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. | help |
--stub-group-multi | (PowerPC only) Allow a group of stubs to serve multiple output sections (default) | help |
--no-stub-group-multi | (PowerPC only) Each output section has its own stubs | help |
--split-stack-adjust-size SIZE | Stack size when -fsplit-stack function calls non-split | help |
-static | Do not link against shared libraries | help |
--start-lib | Start a library | help |
--end-lib | End a library | help |
--stats | Print resource usage statistics | help |
--sysroot DIR | Set target system root directory | help |
-t, --trace | Print the name of each input file | help |
--target1-abs | (ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32 | help |
--target1-rel | (ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32 | help |
--target2 rel | (ARM only) Set R_ARM_TARGET2 relocation type | help |
--text-reorder | Enable text section reordering for GCC section names (default) | help |
--no-text-reorder | Disable text section reordering for GCC section names | help |
--threads | Run the linker multi-threaded | help |
--no-threads | Do not run the linker multi-threaded (default) | help |
--thread-count COUNT | Number of threads to use | help |
--thread-count-initial COUNT | Number of threads to use in initial pass | help |
--thread-count-final COUNT | Number of threads to use in final pass | help |
--tls-optimize | (PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default) | help |
--no-tls-optimize | (PowerPC/64 only) Don'''t try to optimize TLS accesses | help |
--tls-get-addr-optimize | (PowerPC/64 only) Use a special __tls_get_addr call (default) | help |
--no-tls-get-addr-optimize | (PowerPC/64 only) Don't use a special __tls_get_addr call | help |
--toc-optimize | (PowerPC64 only) Optimize TOC code sequences (default) | help |
--no-toc-optimize | (PowerPC64 only) Don't optimize TOC code sequences | help |
--toc-sort | (PowerPC64 only) Sort TOC and GOT sections (default) | help |
--no-toc-sort | (PowerPC64 only) Don't sort TOC and GOT sections | help |
-T, --script FILE | Read linker script | help |
-Tbss ADDRESS | Set the address of the bss segment | help |
-Tdata ADDRESS | Set the address of the data segment | help |
-Ttext ADDRESS | Set the address of the text segment | help |
-Ttext-segment ADDRESS | Set the address of the text segment | help |
-Trodata-segment ADDRESS | Set the address of the rodata segment | help |
--unresolved-symbols ignore-all | How to handle unresolved symbols | help |
--verbose | Alias for --debug=files | help |
--version-script FILE | Read version script | help |
--warn-common | Warn about duplicate common symbols | help |
--no-warn-common | Do not warn about duplicate common symbols (default) | help |
--warn-constructors | Ignored | help |
--no-warn-constructors | Ignored | help |
--warn-drop-version | Warn when discarding version information | help |
--no-warn-drop-version | Do not warn when discarding version information (default) | help |
--warn-execstack | Warn if the stack is executable | help |
--no-warn-execstack | Do not warn if the stack is executable (default) | help |
--no-warn-mismatch | Don't warn about mismatched input files | help |
--warn-multiple-gp | Ignored | help |
--warn-search-mismatch | Warn when skipping an incompatible library (default) | help |
--no-warn-search-mismatch | Don't warn when skipping an incompatible library | help |
--warn-shared-textrel | Warn if text segment is not shareable | help |
--no-warn-shared-textrel | Do not warn if text segment is not shareable (default) | help |
--warn-unresolved-symbols | Report unresolved symbols as warnings | help |
--error-unresolved-symbols | Report unresolved symbols as errors (default) | help |
--no-wchar-size-warning | (ARM only) Do not warn about objects with incompatible wchar_t sizes | help |
--weak-unresolved-symbols | Convert unresolved symbols to weak references | help |
--whole-archive | Include all archive contents | help |
--no-whole-archive | Include only needed archive contents (default) | help |
--wrap SYMBOL | Use wrapper functions for SYMBOL | help |
-x, --discard-all | Delete all local symbols | help |
-X, --discard-locals | Delete all temporary local symbols | help |
--discard-none | Keep all local symbols | help |
--undefined-version | Allow unused version in script (default) | help |
--no-undefined-version | Do not allow unused version in script | help |
-Y PATH | Default search path for Solaris compatibility | help |
--start-group | Start a library search group | help |
--end-group | End a library search group | help |
-z combreloc | Sort dynamic relocs (default) | help |