Linker Options

The following tables list the linker options. See Section 6 of this document and the TMS320C6000 Assembly Language Tools User's Guide for details on these options.

Table 3-22 Linker Basic Options

Option Alias Description
--run_linker -z Enables linking.
--output_file=file -o Names the executable output file. The default filename is a .out file.
--map_file=file -m Produces a map or listing of the input and output sections, including holes, and places the listing in file.
--stack_size=size [-]-stack Sets C system stack size to sizebytes and defines a global symbol that specifies the stack size. Default = 1K bytes.
--heap_size=size [-]-heap Sets heap size (for the dynamic memory allocation in C) to sizebytes and defines a global symbol that specifies the heap size. Default = 1K bytes.

Table 3-23 File Search Path Options

Option Alias Description
--library=file -l Names an archive library or link command file as linker input.
--search_path=pathname -I Alters library-search algorithms to look in a directory named with pathname before looking in the default location. This option must appear before the --library option.
--priority -priority Satisfies unresolved references by the first library that contains a definition for that symbol.
--reread_libs -x Forces rereading of libraries, which resolves back references.
--disable_auto_rts Disables the automatic selection of a run-time-support library. See Section 6.3.1.1.

Table 3-24 Command File Preprocessing Options

Option Alias Description
--define=name=value Predefines name as a preprocessor macro.
--undefine=name Removes the preprocessor macro name.
--disable_pp Disables preprocessing for command files.

Table 3-25 Diagnostic Message Options

Option Alias Description
--diag_error=num Categorizes the diagnostic identified by num as an error.
--diag_remark=num Categorizes the diagnostic identified by num as a remark.
--diag_suppress=num Suppresses the diagnostic identified by num.
--diag_warning=num Categorizes the diagnostic identified by num as a warning.
--display_error_number Displays a diagnostic's identifiers along with its text.
--emit_warnings_as_errors -pdew Treat warnings as errors.
--issue_remarks Issues remarks (non-serious warnings).
--no_demangle Disables demangling of symbol names in diagnostic messages.
--no_warnings Suppresses diagnostic warnings (errors are still issued).
--set_error_limit=count Sets the error limit to count. The linker abandons linking after this number of errors. (The default is 100.)
--verbose_diagnostics Provides verbose diagnostic messages that display the original source with line-wrap.
--warn_sections -w Displays a message when an undefined output section is created.

Table 3-26 Linker Output Options

Option Alias Description
--absolute_exe -a Produces an absolute, executable object file. This is the default; if neither --absolute_exe nor --relocatable is specified, the linker acts as if --absolute_exe were specified.
--ecc={ on | off } Enable linker-generated Error Correcting Codes (ECC). The default is off.
--ecc:data_error Inject specified errors into the output file for testing.
--ecc:ecc_error Inject specified errors into the Error Correcting Code (ECC) for testing.
--mapfile_contents=attribute Controls the information that appears in the map file.
--relocatable -r Produces a nonexecutable, relocatable output object file.
--rom Creates a ROM object.
--xml_link_info=file Generates a well-formed XML file containing detailed information about the result of a link.

Table 3-27 Symbol Management Options

Option Alias Description
--entry_point=symbol -e Defines a global symbol that specifies the primary entry point for the executable object file.
--globalize=pattern Changes the symbol linkage to global for symbols that match pattern.
--hide=pattern Hides symbols that match the specified pattern.
--localize=pattern Make the symbols that match the specified pattern local.
--make_global=symbol -g Makes symbol global (overrides -h).
--make_static -h Makes all global symbols static.
--no_symtable -s Strips symbol table information and line number entries from the executable object file.
--retain={symbol|
    section specification}
Specifies a symbol or section to be retained by the linker.
--scan_libraries -scanlibs Scans all libraries for duplicate symbol definitions.
--symbol_map=refname=defname Specifies a symbol mapping; references to the refname symbol are replaced with references to the defname symbol.
--undef_sym=symbol -u Adds symbol to the symbol table as an unresolved symbol.
--unhide=pattern Excludes symbols that match the specified pattern from being hidden.

Table 3-28 Run-Time Environment Options

Option Alias Description
--arg_size=size --args Reserve size bytes for the argc/argv memory area.
--cinit_compression[=type] Specifies the type of compression to apply to the C auto initialization data. Default is rle.
--copy_compression[=type] Compresses data copied by linker copy tables. Default is rle.
--fill_value=value -f Sets default fill value for holes within output sections
--multithread Causes the linker to choose a thread-safe version of the RTS library when auto-selecting an RTS library or resolving a reference to libc.a, even if none of the input object files contain the TI build attribute placed by the --multithread compiler option. If you used the --openmp compiler option to create any of the object files, the --multithread option is enabled automatically.
--ram_model -cr Initializes variables at load time.
--rom_model -c Autoinitializes variables at run time.
--trampolines[=off|on] Generates far call trampolines. Default is on.

Table 3-29 Miscellaneous Options

Option Alias Description
--compress_dwarf[=off|on] Aggressively reduces the size of DWARF information from input object files. Default is on.
--linker_help [-]-help Displays information about syntax and available options.
--minimize_trampolines[=off|
    postorder]
Places sections to minimize number of far trampolines required. Default is postorder.
--preferred_order=function Prioritizes placement of functions.
--strict_compatibility[=off|on] Performs more conservative and rigorous compatibility checking of input object files. Default is on.
--trampoline_min_spacing=size When trampoline reservations are spaced more closely than the specified limit, tries to make them adjacent.
--unused_section_elimination[=off|on] Eliminates sections that are not needed in the executable module. Default is on.
--zero_init=[off|on] Controls preinitialization of uninitialized variables. Default is on.

Table 3-30 Dynamic Linking Support Options

Option Description
--bind_now Disables Linux default lazy binding mechanisms.
--dsbt_index=index Specifies the Data Segment Base Table (DSBT) index of this component.
--dsbt_size=size Specifies the size of the DSBT in words.
--dynamic[=exe|lib]] Generates dynamic executable or a dynamic library. Default is .exe.
--export=symbol Specifies symbol exported by ELF object.
--fini=symbol Specifies symbol name of termination code.
--forced_static_binding[=off|on] Forces all import references to bind during static linking; defaults to on
--import=symbol Specifies symbol imported by ELF object.
--init=symbol Specifies symbol name of termination code.
--rpath=dir Adds directory to beginning of library search path.
--runpath=dir Adds directory to end of library search path.
--soname=soname Specifies ELF shared object file name.