isFirstRelocation = false;
}
- processRelocationRef(SectionID, i, *obj, LocalSections, LocalSymbols,
+ processRelocationRef(SectionID, *i, *obj, LocalSections, LocalSymbols,
Stubs);
}
}
}
void RuntimeDyldELF::processRelocationRef(unsigned SectionID,
- relocation_iterator RelI,
+ RelocationRef RelI,
ObjectImage &Obj,
ObjSectionToIDMap &ObjSectionToID,
const SymbolTableMap &Symbols,
StubMap &Stubs) {
uint64_t RelType;
- Check(RelI->getType(RelType));
+ Check(RelI.getType(RelType));
int64_t Addend;
- Check(RelI->getAdditionalInfo(Addend));
+ Check(RelI.getAdditionalInfo(Addend));
SymbolRef Symbol;
- Check(RelI->getSymbol(Symbol));
+ Check(RelI.getSymbol(Symbol));
// Obtain the symbol name which is referenced in the relocation
StringRef TargetName;
}
}
uint64_t Offset;
- Check(RelI->getOffset(Offset));
+ Check(RelI.getOffset(Offset));
DEBUG(dbgs() << "\t\tSectionID: " << SectionID
<< " Offset: " << Offset
virtual void resolveRelocation(const RelocationEntry &RE, uint64_t Value);
virtual void processRelocationRef(unsigned SectionID,
- relocation_iterator RelI,
+ RelocationRef RelI,
ObjectImage &Obj,
ObjSectionToIDMap &ObjSectionToID,
const SymbolTableMap &Symbols,
/// \brief Parses the object file relocation and stores it to Relocations
/// or SymbolRelocations (this depends on the object file type).
virtual void processRelocationRef(unsigned SectionID,
- relocation_iterator RelI,
+ RelocationRef RelI,
ObjectImage &Obj,
ObjSectionToIDMap &ObjSectionToID,
const SymbolTableMap &Symbols,
}
void RuntimeDyldMachO::processRelocationRef(unsigned SectionID,
- relocation_iterator RelI,
+ RelocationRef RelI,
ObjectImage &Obj,
ObjSectionToIDMap &ObjSectionToID,
const SymbolTableMap &Symbols,
StubMap &Stubs) {
const ObjectFile *OF = Obj.getObjectFile();
const MachOObjectFile *MachO = static_cast<const MachOObjectFile*>(OF);
- macho::RelocationEntry RE = MachO->getRelocation(RelI->getRawDataRefImpl());
+ macho::RelocationEntry RE = MachO->getRelocation(RelI.getRawDataRefImpl());
uint32_t RelType = MachO->getAnyRelocationType(RE);
RelocationValueRef Value;
if (isExtern) {
// Obtain the symbol name which is referenced in the relocation
SymbolRef Symbol;
- RelI->getSymbol(Symbol);
+ RelI.getSymbol(Symbol);
StringRef TargetName;
Symbol.getName(TargetName);
// First search for the symbol in the local symbol table
}
uint64_t Offset;
- RelI->getOffset(Offset);
+ RelI.getOffset(Offset);
if (Arch == Triple::arm && (RelType & 0xf) == macho::RIT_ARM_Branch24Bit) {
// This is an ARM branch relocation, need to use a stub function.
int64_t Addend);
virtual void processRelocationRef(unsigned SectionID,
- relocation_iterator RelI,
+ RelocationRef RelI,
ObjectImage &Obj,
ObjSectionToIDMap &ObjSectionToID,
const SymbolTableMap &Symbols,