LLVM API Documentation
#include <DWARFContext.h>
Classes | |
struct | Section |
Public Member Functions | |
DWARFContext () | |
virtual | ~DWARFContext () |
virtual void | dump (raw_ostream &OS, DIDumpType DumpType=DIDT_All) |
unsigned | getNumCompileUnits () |
Get the number of compile units in this context. More... | |
unsigned | getNumTypeUnits () |
Get the number of compile units in this context. More... | |
unsigned | getNumDWOCompileUnits () |
Get the number of compile units in the DWO context. More... | |
DWARFCompileUnit * | getCompileUnitAtIndex (unsigned index) |
Get the compile unit at the specified index for this compile unit. More... | |
DWARFTypeUnit * | getTypeUnitAtIndex (unsigned index) |
Get the type unit at the specified index for this compile unit. More... | |
DWARFCompileUnit * | getDWOCompileUnitAtIndex (unsigned index) |
Get the compile unit at the specified index for the DWO compile units. More... | |
const DWARFDebugAbbrev * | getDebugAbbrev () |
Get a pointer to the parsed DebugAbbrev object. More... | |
const DWARFDebugLoc * | getDebugLoc () |
Get a pointer to the parsed DebugLoc object. More... | |
const DWARFDebugAbbrev * | getDebugAbbrevDWO () |
Get a pointer to the parsed dwo abbreviations object. More... | |
const DWARFDebugAranges * | getDebugAranges () |
Get a pointer to the parsed DebugAranges object. More... | |
const DWARFDebugFrame * | getDebugFrame () |
Get a pointer to the parsed frame information object. More... | |
const DWARFDebugLine::LineTable * | getLineTableForCompileUnit (DWARFCompileUnit *cu) |
Get a pointer to a parsed line table corresponding to a compile unit. More... | |
virtual DILineInfo | getLineInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) |
virtual DILineInfoTable | getLineInfoForAddressRange (uint64_t Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) |
virtual DIInliningInfo | getInliningInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) |
virtual bool | isLittleEndian () const =0 |
virtual uint8_t | getAddressSize () const =0 |
virtual const Section & | getInfoSection ()=0 |
virtual const std::map < object::SectionRef, Section > & | getTypesSections ()=0 |
virtual StringRef | getAbbrevSection ()=0 |
virtual const Section & | getLocSection ()=0 |
virtual StringRef | getARangeSection ()=0 |
virtual StringRef | getDebugFrameSection ()=0 |
virtual const Section & | getLineSection ()=0 |
virtual StringRef | getStringSection ()=0 |
virtual StringRef | getRangeSection ()=0 |
virtual StringRef | getPubNamesSection ()=0 |
virtual StringRef | getPubTypesSection ()=0 |
virtual StringRef | getGnuPubNamesSection ()=0 |
virtual StringRef | getGnuPubTypesSection ()=0 |
virtual const Section & | getInfoDWOSection ()=0 |
virtual StringRef | getAbbrevDWOSection ()=0 |
virtual StringRef | getStringDWOSection ()=0 |
virtual StringRef | getStringOffsetDWOSection ()=0 |
virtual StringRef | getRangeDWOSection ()=0 |
virtual StringRef | getAddrSection ()=0 |
![]() | |
DIContextKind | getKind () const |
DIContext (DIContextKind K) | |
virtual | ~DIContext () |
Static Public Member Functions | |
static bool | classof (const DIContext *DICtx) |
static bool | isSupportedVersion (unsigned version) |
![]() | |
static DIContext * | getDWARFContext (object::ObjectFile *) |
getDWARFContext - get a context for binary DWARF data. More... | |
Additional Inherited Members | |
![]() | |
enum | DIContextKind { CK_DWARF } |
DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. The actual data is supplied through pure virtual methods that a concrete implementation provides.
Definition at line 30 of file DWARFContext.h.
|
inline |
Definition at line 61 of file DWARFContext.h.
|
virtual |
Definition at line 26 of file DWARFContext.cpp.
References llvm::DeleteContainerPointers().
Definition at line 64 of file DWARFContext.h.
References llvm::DIContext::CK_DWARF, and llvm::DIContext::getKind().
|
virtual |
Implements llvm::DIContext.
Definition at line 61 of file DWARFContext.cpp.
References llvm::DIDT_Abbrev, llvm::DIDT_AbbrevDwo, llvm::DIDT_All, llvm::DIDT_Aranges, llvm::DIDT_Frames, llvm::DIDT_GnuPubnames, llvm::DIDT_GnuPubtypes, llvm::DIDT_Info, llvm::DIDT_InfoDwo, llvm::DIDT_Line, llvm::DIDT_Loc, llvm::DIDT_Pubnames, llvm::DIDT_Pubtypes, llvm::DIDT_Ranges, llvm::DIDT_Str, llvm::DIDT_StrDwo, llvm::DIDT_StrOffsetsDwo, llvm::DIDT_Types, llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugRangeList::dump(), dumpPubSection(), llvm::DWARFDebugArangeSet::extract(), llvm::DWARFDebugRangeList::extract(), llvm::format(), llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset(), llvm::DWARFUnit::getCompileUnitDIE(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU32(), and llvm::DWARFDebugLine::parseStatementTable().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFDebugAranges::generate().
|
inline |
Get the compile unit at the specified index for this compile unit.
Definition at line 92 of file DWARFContext.h.
Referenced by llvm::DWARFDebugAranges::generate().
const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev | ( | ) |
Get a pointer to the parsed DebugAbbrev object.
Definition at line 197 of file DWARFContext.cpp.
const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO | ( | ) |
Get a pointer to the parsed dwo abbreviations object.
Definition at line 208 of file DWARFContext.cpp.
const DWARFDebugAranges * DWARFContext::getDebugAranges | ( | ) |
Get a pointer to the parsed DebugAranges object.
Definition at line 230 of file DWARFContext.cpp.
References llvm::DWARFDebugAranges::generate().
const DWARFDebugFrame * DWARFContext::getDebugFrame | ( | ) |
Get a pointer to the parsed frame information object.
Definition at line 239 of file DWARFContext.cpp.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
const DWARFDebugLoc * DWARFContext::getDebugLoc | ( | ) |
Get a pointer to the parsed DebugLoc object.
Definition at line 218 of file DWARFContext.cpp.
|
inline |
Get the compile unit at the specified index for the DWO compile units.
Definition at line 106 of file DWARFContext.h.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
virtual |
Implements llvm::DIContext.
Definition at line 502 of file DWARFContext.cpp.
References llvm::DILineInfoSpecifier::AbsoluteFilePath, llvm::DIInliningInfo::addFrame(), llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::DILineInfoSpecifier::FileLineInfo, llvm::DILineInfoSpecifier::FunctionName, llvm::DWARFDebugInfoEntryMinimal::getCallerFrame(), getFileLineInfoForCompileUnit(), getFileNameForCompileUnit(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDebugInfoEntryMinimal::getSubroutineName(), llvm::DILineInfoSpecifier::needs(), and llvm::DWARFDebugInfoEntryInlinedChain::U.
|
virtual |
Implements llvm::DIContext.
Definition at line 415 of file DWARFContext.cpp.
References llvm::DILineInfoSpecifier::AbsoluteFilePath, llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::DILineInfoSpecifier::FileLineInfo, llvm::DILineInfoSpecifier::FunctionName, getFileLineInfoForCompileUnit(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDebugInfoEntryMinimal::getSubroutineName(), llvm::DILineInfoSpecifier::needs(), and llvm::DWARFDebugInfoEntryInlinedChain::U.
|
virtual |
Implements llvm::DIContext.
Definition at line 448 of file DWARFContext.cpp.
References llvm::DILineInfoSpecifier::AbsoluteFilePath, llvm::DWARFDebugLine::Row::Address, llvm::DWARFDebugLine::Row::Column, llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::DWARFDebugLine::Row::File, llvm::DILineInfoSpecifier::FileLineInfo, llvm::DILineInfoSpecifier::FunctionName, getFileNameForCompileUnit(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDebugInfoEntryMinimal::getSubroutineName(), llvm::DWARFDebugLine::Row::Line, llvm::DWARFDebugLine::LineTable::lookupAddressRange(), llvm::DILineInfoSpecifier::needs(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::DWARFDebugLine::LineTable::Rows, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::DWARFDebugInfoEntryInlinedChain::U.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
const DWARFLineTable * DWARFContext::getLineTableForCompileUnit | ( | DWARFCompileUnit * | cu | ) |
Get a pointer to a parsed line table corresponding to a compile unit.
Definition at line 260 of file DWARFContext.cpp.
References llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset(), and llvm::DWARFUnit::getCompileUnitDIE().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
inline |
Get the number of compile units in this context.
Definition at line 71 of file DWARFContext.h.
Referenced by llvm::DWARFDebugAranges::generate().
|
inline |
Get the number of compile units in the DWO context.
Definition at line 85 of file DWARFContext.h.
|
inline |
Get the number of compile units in this context.
Definition at line 78 of file DWARFContext.h.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
inline |
Get the type unit at the specified index for this compile unit.
Definition at line 99 of file DWARFContext.h.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFDebugAranges::generate().
Definition at line 162 of file DWARFContext.h.
Referenced by llvm::DWARFUnit::extractImpl().