ld
and the MIPS familyThe ‘--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.