> write32<E>(Buf + 4, 0x8df90000); // l[wd] $25, %lo(.got.plt entry)($15) > - write32<E>(Buf + 8, 0x03200008); // jr $25 > + // jr $25 > + write32<E>(Buf + 8, isMipsR6<ELFT>() ? 0x03200009 : 0x03200008); Has the encoding changed for "jr $25"? Cheers, Rafael