There is not match for the MipsJmpLink texternalsym and MipsJmpLink tglobaladdr patterns for microMIPS R6. As a result LLVM incorrectly selects the JALRC16 compact 2-byte instruction which takes a target instruction address from a register only and assign R_MIPS_32 relocation for this instruction. This relocation completely overwrites JALRC16 and nearby instructions.
This patch adds missed matching patterns, selects BALC instruction and assign a correct R_MICROMIPS_PC26_S1 relocation.