proprietary tools. The problem with this default is that it will
result in slightly different images being produced each time the same sources are linked. The option --no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries
produced from identical sources will compare identically.
If --insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the "SOURCE_DATE_EPOCH" environment variable is defined, the number of seconds since Unix epoch as
specified by that variable.
--enable-reloc-section
--disable-reloc-section
Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.
The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.
--dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.
--dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0,
the "R_C6000_DSBT_INDEX" relocs are copied into the output file.
The --no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.
--branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions
that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.
--stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after
their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.
The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.
--no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a "jsr" instruction (this happens when a pointer to a far function is taken).
--bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and
addresses within the memory window.
The following options are supported to control handling of GOT generation when linking for 68K targets.
--got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.
The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.
--insn32
--no-insn32
These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If --insn32 is used, then the linker only uses
32-bit instruction encodings. By default