diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp b/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp index a9b9a63da5a..211f5216811 100644 --- a/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp +++ b/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp @@ -101,15 +101,17 @@ void IntelJITEventListener::NotifyObjectEmitted( const RuntimeDyld::LoadedObjectInfo &L) { OwningBinary<ObjectFile> DebugObjOwner = L.getObjectForDebug(Obj); - const ObjectFile &DebugObj = *DebugObjOwner.getBinary(); + const ObjectFile *DebugObj = DebugObjOwner.getBinary(); + if (!DebugObj) + return; // Get the address of the object image for use as a unique identifier - const void* ObjData = DebugObj.getData().data(); - std::unique_ptr<DIContext> Context = DWARFContext::create(DebugObj); + const void* ObjData = DebugObj->getData().data(); + std::unique_ptr<DIContext> Context = DWARFContext::create(*DebugObj); MethodAddressVector Functions; // Use symbol info to iterate functions in the object. - for (const std::pair<SymbolRef, uint64_t> &P : computeSymbolSizes(DebugObj)) { + for (const std::pair<SymbolRef, uint64_t> &P : computeSymbolSizes(*DebugObj)) { SymbolRef Sym = P.first; std::vector<LineNumberInfo> LineInfo; std::string SourceFileName; |

