Index: local-src/contrib/llvm/tools/lld/ELF/Thunks.cpp =================================================================== --- local-src.orig/contrib/llvm/tools/lld/ELF/Thunks.cpp +++ local-src/contrib/llvm/tools/lld/ELF/Thunks.cpp @@ -711,7 +711,7 @@ InputSection *MicroMipsR6Thunk::getTarge void PPC32PltCallStub::writeTo(uint8_t *buf) { if (!config->isPic) { uint64_t va = destination.getGotPltVA(); - write32(buf + 0, 0x3d600000 | (va + 0x8000) >> 16); // lis r11,ha + write32(buf + 0, 0x3d600000 | (((va + 0x8000) >> 16) & 0xffff)); // lis r11,ha write32(buf + 4, 0x816b0000 | (uint16_t)va); // lwz r11,l(r11) write32(buf + 8, 0x7d6903a6); // mtctr r11 write32(buf + 12, 0x4e800420); // bctr