X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=lib%2FDebugInfo%2FDWARFContext.h;h=d2e763a87a45469e2e1891c9dfc72cfd3f4cfd31;hb=2076af0184bd38185a719ea07cb10a90e8565a89;hp=ead169ea7e0b07ca95bed362dd240bc8f7d2f4c1;hpb=b848e976110a2c4f0a6a9e252115ba291c844fbe;p=oota-llvm.git diff --git a/lib/DebugInfo/DWARFContext.h b/lib/DebugInfo/DWARFContext.h index ead169ea7e0..d2e763a87a4 100644 --- a/lib/DebugInfo/DWARFContext.h +++ b/lib/DebugInfo/DWARFContext.h @@ -53,14 +53,20 @@ public: return &CUs[index]; } + /// Return the compile unit that includes an offset (relative to .debug_info). + DWARFCompileUnit *getCompileUnitForOffset(uint32_t offset); + /// Get a pointer to the parsed DebugAbbrev object. const DWARFDebugAbbrev *getDebugAbbrev(); /// Get a pointer to the parsed DebugAranges object. const DWARFDebugAranges *getDebugAranges(); - /// Get a pointer to the parsed DWARFDebugLine object. - const DWARFDebugLine *getDebugLine(); + /// Get a pointer to a parsed line table corresponding to a compile unit. + const DWARFDebugLine::LineTable * + getLineTableForCompileUnit(DWARFCompileUnit *cu); + + virtual DILineInfo getLineInfoForAddress(uint64_t address); bool isLittleEndian() const { return IsLittleEndian; } @@ -80,6 +86,7 @@ public: /// DWARFContext. It assumes all content is available in memory and stores /// pointers to it. class DWARFContextInMemory : public DWARFContext { + virtual void anchor(); StringRef InfoSection; StringRef AbbrevSection; StringRef ARangeSection;