25 #define DEBUG_TYPE "dyld" 29 class LoadedCOFFObjectInfo final
31 RuntimeDyld::LoadedObjectInfo> {
39 getObjectForDebug(
const ObjectFile &Obj)
const override {
47 std::unique_ptr<RuntimeDyldCOFF>
54 return make_unique<RuntimeDyldCOFFI386>(MemMgr, Resolver);
56 return make_unique<RuntimeDyldCOFFThumb>(MemMgr, Resolver);
58 return make_unique<RuntimeDyldCOFFX86_64>(MemMgr, Resolver);
62 std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
64 if (
auto ObjSectionToIDOrErr = loadObjectImpl(O)) {
65 return llvm::make_unique<LoadedCOFFObjectInfo>(*
this, *ObjSectionToIDOrErr);
bool isCompatibleFile(const object::ObjectFile &Obj) const override
This class represents lattice values for constants.
uint64_t getValue() const
Return the value of the symbol depending on the object this can be an offset or a virtual address...
This class is the base class for all object file types.
uint64_t getSymbolOffset(const SymbolRef &Sym)
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
Symbol resolution interface.
void logAllUnhandledErrors(Error E, raw_ostream &OS, Twine ErrorBanner={})
Log all errors (if any) in E to OS.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is a value type class that represents a single symbol in the list of symbols in the object file...
static std::unique_ptr< RuntimeDyldCOFF > create(Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)
std::map< object::SectionRef, unsigned > ObjSectionToIDMap
A raw_ostream that writes to an std::string.
std::unique_ptr< RuntimeDyld::LoadedObjectInfo > loadObject(const object::ObjectFile &Obj) override