diff --git a/lib/Target/ARM/ARMInstrInfo.cpp b/lib/Target/ARM/ARMInstrInfo.cpp index 8cdb853..868dd47 100644 --- a/lib/Target/ARM/ARMInstrInfo.cpp +++ b/lib/Target/ARM/ARMInstrInfo.cpp @@ -130,6 +130,10 @@ namespace { MIB.addImm(0); AddDefaultPred(MIB); + // Fix the GOT address by adding pc. + BuildMI(FirstMBB, MBBI, DL, TII.get(ARM::tPICADD), GlobalBaseReg) + .addReg(GlobalBaseReg).addImm(ARMPCLabelIndex); + return true; }