diff options
author | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-11-23 11:01:47 +0000 |
---|---|---|
committer | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-11-23 11:01:47 +0000 |
commit | d6dbd641040943f5a849982869a2f190f6311a4b (patch) | |
tree | b995051bad5d334a53c1a5401da67b8dfdabe4ed /llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | |
parent | 009d833a4e1ed1b7371a40ac3463e6e172b90923 (diff) | |
download | bcm5719-llvm-d6dbd641040943f5a849982869a2f190f6311a4b.tar.gz bcm5719-llvm-d6dbd641040943f5a849982869a2f190f6311a4b.zip |
Revert r343341
- Cannot reproduce the build failure locally and the build logs have
been deleted.
llvm-svn: 347490
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF/DWARFContext.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp index e330ce221b2..35c3f59b3f4 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp @@ -767,7 +767,7 @@ const DWARFDebugFrame *DWARFContext::getDebugFrame() { // http://lists.dwarfstd.org/htdig.cgi/dwarf-discuss-dwarfstd.org/2011-December/001173.html DWARFDataExtractor debugFrameData(DObj->getDebugFrameSection(), isLittleEndian(), DObj->getAddressSize()); - DebugFrame.reset(new DWARFDebugFrame(false /* IsEH */)); + DebugFrame.reset(new DWARFDebugFrame(Arch, false /* IsEH */)); DebugFrame->parse(debugFrameData); return DebugFrame.get(); } @@ -778,7 +778,7 @@ const DWARFDebugFrame *DWARFContext::getEHFrame() { DWARFDataExtractor debugFrameData(DObj->getEHFrameSection(), isLittleEndian(), DObj->getAddressSize()); - DebugFrame.reset(new DWARFDebugFrame(true /* IsEH */)); + DebugFrame.reset(new DWARFDebugFrame(Arch, true /* IsEH */)); DebugFrame->parse(debugFrameData); return DebugFrame.get(); } @@ -1644,7 +1644,11 @@ DWARFContext::create(const object::ObjectFile &Obj, const LoadedObjectInfo *L, function_ref<ErrorPolicy(Error)> HandleError, std::string DWPName) { auto DObj = llvm::make_unique<DWARFObjInMemory>(Obj, L, HandleError); - return llvm::make_unique<DWARFContext>(std::move(DObj), std::move(DWPName)); + std::unique_ptr<DWARFContext> Ctx = + llvm::make_unique<DWARFContext>(std::move(DObj), std::move(DWPName)); + logAllUnhandledErrors(Ctx->loadArchitectureInfo(Obj), errs(), + Obj.getFileName() + ": "); + return Ctx; } std::unique_ptr<DWARFContext> @@ -1655,9 +1659,11 @@ DWARFContext::create(const StringMap<std::unique_ptr<MemoryBuffer>> &Sections, return llvm::make_unique<DWARFContext>(std::move(DObj), ""); } -Error DWARFContext::loadRegisterInfo(const object::ObjectFile &Obj) { +Error DWARFContext::loadArchitectureInfo(const object::ObjectFile &Obj) { // Detect the architecture from the object file. We usually don't need OS // info to lookup a target and create register info. + Arch = Triple::ArchType(Obj.getArch()); + Triple TT; TT.setArch(Triple::ArchType(Obj.getArch())); TT.setVendor(Triple::UnknownVendor); |