Next: , Previous: , Up: Machine Dependent   [Contents][Index]

5.6 ld and the MIPS family

The --insn32 and --no-insn32 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 or if --no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

The --ignore-branch-isa and --no-ignore-branch-isa options control branch relocation checks for invalid ISA mode transitions. If --ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if --no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.