avr-ld --version (return code: 0)
GNU ld (GNU Binutils) 2.26.20160125
Copyright (C) 2015 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.
avr-ld --help (return code: 0)
Usage: avr-ld [options] file...
Options:
-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
--no-export-dynamic Undo the effect of --export-dynamic
-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
Set internal name of shared library
-I PROGRAM, --dynamic-linker PROGRAM
Set PROGRAM as the dynamic linker to use
--no-dynamic-linker Produce an executable with no program interpreter header
-l LIBNAME, --library LIBNAME
Search for library LIBNAME
-L DIRECTORY, --library-path DIRECTORY
Add DIRECTORY to library search path
--sysroot=<DIRECTORY> Override the default sysroot location
-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
-plugin PLUGIN Load named plugin
-plugin-opt ARG Send arg to last-loaded plugin
-flto Ignored for GCC LTO option compatibility
-flto-partition= Ignored for GCC LTO option compatibility
-fuse-ld= Ignored for GCC linker option compatibility
--map-whole-files Ignored for gold option compatibility
--no-map-whole-files Ignored for gold option compatibility
-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
--default-script FILE, -dT Read default linker script
-u SYMBOL, --undefined SYMBOL
Start with undefined reference to SYMBOL
--require-defined SYMBOL Require SYMBOL be defined in the final output
--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
--as-needed Only set DT_NEEDED for following dynamic libs if used
--no-as-needed Always set DT_NEEDED for dynamic libraries mentioned on
the command line
-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
-Bsymbolic-functions Bind global function references locally
--check-sections Check section addresses for overlaps (default)
--no-check-sections Do not check section addresses for overlaps
--copy-dt-needed-entries Copy DT_NEEDED links mentioned inside DSOs that follow
--no-copy-dt-needed-entries Do not copy DT_NEEDED links mentioned inside DSOs that follow
--cref Output cross reference table
--defsym SYMBOL=EXPRESSION Define a symbol
--demangle [=STYLE] Demangle symbol names [using STYLE]
--embedded-relocs Generate embedded relocs
--fatal-warnings Treat warnings as errors
--no-fatal-warnings Do not treat warnings as errors (default)
-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)
--print-gc-sections List removed unused sections on stderr
--no-print-gc-sections Do not list removed unused sections
--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 libraries
--no-allow-shlib-undefined Do not allow unresolved references in shared libs
--allow-multiple-definition Allow multiple definitions
--no-undefined-version Disallow undefined version
--default-symver Create default symbol version
--default-imported-symver Create default symbol version for imported symbols
--no-warn-mismatch Don't warn about mismatched input files
--no-warn-search-mismatch Don't warn on finding an incompatible library
--no-whole-archive Turn off --whole-archive
--noinhibit-exec Create an output file even if errors occur
-nostdlib Only use library directories specified on
the command line
--oformat TARGET Specify target of output file
--print-output-format Print default output format
--print-sysroot Print current sysroot
-qmagic Ignored for Linux compatibility
--reduce-memory-overheads Reduce memory overheads, possibly taking much longer
--relax Reduce code size by using target specific optimizations
--no-relax Do not use relaxation techniques to reduce code size
--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 [=ascending|descending]
Sort common symbols by alignment [in specified order]
--sort-section name|alignment
Sort sections by name or maximum alignment
--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
-Ttext-segment ADDRESS Set address of text segment
-Trodata-segment ADDRESS Set address of rodata segment
-Tldata-segment ADDRESS Set address of ldata segment
--unresolved-symbols=<method>
How to handle unresolved symbols. <method> is:
ignore-all, report-all, ignore-in-object-files,
ignore-in-shared-libs
--verbose [=NUMBER] Output lots of information during link
--version-script FILE Read version information script
--version-exports-section SYMBOL
Take export symbols list from .exports, using
SYMBOL as the version.
--dynamic-list-data Add data symbols to dynamic list
--dynamic-list-cpp-new Use C++ operator new/delete dynamic list
--dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list
--dynamic-list FILE Read dynamic list
--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-shared-textrel Warn if shared object has DT_TEXTREL
--warn-alternate-em Warn if an object has alternate ELF machine code
--warn-unresolved-symbols Report unresolved symbols as warnings
--error-unresolved-symbols Report unresolved symbols as errors
--whole-archive Include all objects from following archives
--wrap SYMBOL Use wrapper functions for SYMBOL
--ignore-unresolved-symbol SYMBOL
Unresolved SYMBOL will not cause an error or warning
--push-state Push state of flags governing input file handling
--pop-state Pop state of flags governing input file handling
--print-memory-usage Report target memory usage
--orphan-handling =MODE Control how orphan sections are handled.
@FILE Read options from FILE
avr-ld: supported targets: elf32-avr elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
avr-ld: supported emulations: avr2 avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny
avr-ld: emulation specific options:
ELF emulations:
--build-id[=STYLE] Generate build ID note
--compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]
Compress DWARF debug sections using zlib
Default: none
-z common-page-size=SIZE Set common page size to SIZE
-z max-page-size=SIZE Set maximum page size to SIZE
-z defs Report unresolved symbols in object files.
-z muldefs Allow multiple definitions
-z execstack Mark executable as requiring executable stack
-z noexecstack Mark executable as not requiring executable stack
avr2:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr1:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr25:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr3:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr31:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr35:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr4:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr5:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr51:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avr6:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega1:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega2:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega3:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega4:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega5:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega6:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrxmega7:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
avrtiny:
--pmem-wrap-around=<val> Make the linker relaxation machine assume that a
program counter wrap-around occures at address
<val>. Supported values: 8k, 16k, 32k and 64k.
--no-call-ret-replacement The relaxation machine normally will
substitute two immediately following call/ret
instructions by a single jump instruction.
This option disables this optimization.
--no-stubs If the linker detects to attempt to access
an instruction beyond 128k by a reloc that
is limited to 128k max, it inserts a jump
stub. You can de-active this with this switch.
--debug-stubs Used for debugging avr-ld.
--debug-relax Used for debugging avr-ld.
--detailed-mem-usage Dump detailed memory usage (object file wise) to map file.
--non-bit-addressable-registers-mask=<32 bit mask>
Specify the non bit addressable registers mask.
Report bugs to <http://www.sourceware.org/bugzilla/>