LD - Linker

Version: 2.15.91 20040904

-a KEYWORD Shared library control for HP/UX compatibility
-A ARCH, –architecture ARCH Set architecture
-b TARGET, –format TARGET Specify target for following input files
-c FILE, –mri-script FILE Read MRI format linker script
-d, -dc, -dp Force common symbols to be defined
-e ADDRESS, –entry ADDRESS Set start address
-E, –export-dynamic Export all dynamic symbols
-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
-g Ignored
-G SIZE, –gpsize SIZE Small data size (if no size, same as –shared)
-h FILENAME, -soname FILENAME et internal name of shared library
-I PROGRAM, –dynamic-linker PROGRAM Set PROGRAM as the dynamic linker to use
-l LIBNAME, –library LIBNAME Search for library LIBNAME
-L DIRECTORY, –library-path DIRECTORY Add DIRECTORY to library search path
-m EMULATION Set emulation
-M, –print-map Print map file on standard output
-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
-o FILE, –output FILE Set output file name
-O Optimize output file
-Qy Ignored for SVR4 compatibility
-q, –emit-relocs Generate relocations in final output
-r, -i, –relocatable Generate relocatable output
-R FILE, –just-symbols FILE Just link symbols (if directory, same as –rpath)
-s, –strip-all Strip all symbols
-S, –strip-debug Strip debugging symbols
–strip-discarded Strip symbols in discarded sections
–no-strip-discarded Do not strip symbols in discarded sections
-t, –trace Trace file opens
-T FILE, –script FILE Read linker script
-u SYMBOL, –undefined SYMBOL Start with undefined reference to SYMBOL
–unique [=SECTION] Don't merge input [SECTION orphan] sections
-Ur Build global constructor/destructor tables
-v, –version Print version information
-V Print version and emulation information
-x, –discard-all Discard all local symbols
-X, –discard-locals Discard temporary local symbols (default)
–discard-none Don't discard any local symbols
-y SYMBOL, –trace-symbol SYMBOL Trace mentions of SYMBOL
-Y PATH Default search path for Solaris compatibility
-(, –start-group Start a group
-), –end-group End a group
–accept-unknown-input-arch Accept input files whose architecture cannot be determined
–no-accept-unknown-input-arch Reject input files whose architecture is unknown
-assert KEYWORD Ignored for SunOS compatibility
-Bdynamic, -dy, -call_shared Link against shared libraries
-Bstatic, -dn, -non_shared, -static Do not link against shared libraries
-Bsymbolic Bind global references locally
–check-sections Check section addresses for overlaps (default)
–no-check-sections Do not check section addresses for overlaps
–cref Output cross reference table
–defsym SYMBOL=EXPRESSION Define a symbol
–demangle [=STYLE] Demangle symbol names [using STYLE]
–embedded-relocs Generate embedded relocs
-fini SYMBOL Call SYMBOL at unload-time
–force-exe-suffix Force generation of file with .exe suffix
–gc-sections Remove unused sections (on some targets)
–no-gc-sections Don't remove unused sections (default)
–hash-size=<NUMBER> Set default hash table size close to <NUMBER>
–help Print option help
-init SYMBOL Call SYMBOL at load-time
-Map FILE Write a map file
–no-define-common Do not define Common storage
–no-demangle Do not demangle symbol names
–no-keep-memory Use less memory and more disk I/O
–no-undefined Do not allow unresolved references in object files
–allow-shlib-undefined Allow unresolved references in shared libaries
–no-allow-shlib-undefined Do not allow unresolved references in shared libs
–allow-multiple-definition Allow multiple definitions
–no-undefined-version Disallow undefined version
–no-warn-mismatch Don't warn about mismatched input files
–no-whole-archive Turn off –whole-archive
–noinhibit-exec Create an output file even if errors occur
-nostdlib Only use library directories specified on line
–oformat TARGET Specify target of output file
-qmagic Ignored for Linux compatibility
–reduce-memory-overheads Reduce memory overheads, possibly taking much longer
–relax Relax branches on certain targets
–retain-symbols-file FILE Keep only symbols listed in FILE
-rpath PATH Set runtime shared library search path
-rpath-link PATH Set link time shared library search path
-shared, -Bshareable Create a shared library
-pie, –pic-executable Create a position independent executable
–sort-common Sort common symbols by size
–spare-dynamic-tags COUNT How many tags to reserve in .dynamic section
–split-by-file [=SIZE] Split output sections every SIZE octets
–split-by-reloc [=COUNT] Split output sections every COUNT relocs
–stats Print memory usage statistics
–target-help Display target specific options
–task-link SYMBOL Do task level linking
–traditional-format Use same format as native linker
–section-start SECTION=ADDRESS Set address of named section
-Tbss ADDRESS Set address of .bss section
-Tdata ADDRESS Set address of .data section
-Ttext ADDRESS Set address of .text section
–unresolved-symbols=<method> How to handle unresolved symbols. <method> is: report-all, ignore-in-object-files, ared-libs
–verbose Output lots of information during link
–version-script FILE Read version information script
–version-exports-section SYMBOL Take export symbols list from .exports, using e version.
–warn-common Warn about duplicate common symbols
–warn-constructors Warn if global constructors/destructors are seen
–warn-multiple-gp Warn if the multiple GP values are used
–warn-once Warn only once per undefined symbol
–warn-section-align Warn if start of section changes due to alignment
–warn-unresolved-symbols Report unresolved symbols as warnings
–error-unresolved-symbols Report unresolved symbols as errors
–fatal-warnings Treat warnings as errors
–whole-archive Include all objects from following archives
–add-needed Set DT_NEEDED tags for DT_NEEDED entries in namic libs
–no-add-needed Do not set DT_NEEDED tags for DT_NEEDED entries dynamic libs
–as-needed Only set DT_NEEDED for following dynamic libs if used
–no-as-needed Always set DT_NEEDED for following dynamic libs
–wrap SYMBOL Use wrapper functions for SYMBOL
ld: supported targets: pe-i386 pei-i386 elf32-i386 elf32-little elf32-big srec symbolsrec tekhex binary ihex
ld: supported emulations: i386pe
ld: emulation specific options:
i386pe:
–base_file <basefile> Generate a base file for relocatable DLLs
–dll Set image base to the default for DLLs
–file-alignment <size> Set file alignment
–heap <size> Set initial size of the heap
–image-base <address> Set start address of the executable
–major-image-version <number> Set version number of the executable
–major-os-version <number> Set minimum required OS version
–major-subsystem-version <number> Set minimum required OS subsystem version
–minor-image-version <number> Set revision number of the executable
–minor-os-version <number> Set minimum required OS revision
–minor-subsystem-version <number> Set minimum required OS subsystem revision
–section-alignment <size> Set section alignment
–stack <size> Set size of the initial stack
–subsystem <name>[:<version>] Set required OS subsystem [& version]
–support-old-code Support interworking with old code
–thumb-entry=<symbol> Set the entry point to be Thumb <symbol>
–add-stdcall-alias Export symbols with and without @nn
–disable-stdcall-fixup Don't link _sym to _sym@nn
–enable-stdcall-fixup Link _sym to _sym@nn without warnings
–exclude-symbols sym,sym,… Exclude symbols from automatic export
–exclude-libs lib,lib,… Exclude libraries from automatic export
–export-all-symbols Automatically export all globals to DLL
–kill-at Remove @nn from exported symbols
–out-implib <file> Generate import library
–output-def <file> Generate a .DEF file for the built DLL
–warn-duplicate-exports Warn about duplicate exports.
–compat-implib Create backward compatible import libs; create imp_<SYMBOL> as well. || || –enable-auto-image-base || Automatically choose image base for DLLs unless user specifies one || || –disable-auto-image-base || Do not auto-choose image base. (default) || –dll-search-prefix=<string> || When linking dynamically to a dll without an importlib, use <string><basename>.dll in preference to lib<basename>.dll || || –enable-auto-import || Do sophistcated linking of _sym to imp_sym for DATA references
–disable-auto-import Do not auto-import DATA items from DLLs
–enable-runtime-pseudo-reloc Work around auto-import limitations by adding pseudo-relocations resolved at runtime.
–disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for auto-imported DATA.
–enable-extra-pe-debug Enable verbose debug output when building or linking to DLLs (esp. auto-import)
–large-address-aware Executable supports virtual addresses greater than 2 gigabytes