|
LLVM
3.7.0
|
#include <DWARFUnit.h>
Protected Member Functions | |
| virtual bool | extractImpl (DataExtractor debug_info, uint32_t *offset_ptr) |
| virtual uint32_t | getHeaderSize () const |
| Size in bytes of the unit header. More... | |
Definition at line 103 of file DWARFUnit.h.
| DWARFUnit::DWARFUnit | ( | DWARFContext & | Context, |
| const DWARFSection & | Section, | ||
| const DWARFDebugAbbrev * | DA, | ||
| StringRef | RS, | ||
| StringRef | SS, | ||
| StringRef | SOS, | ||
| StringRef | AOS, | ||
| bool | LE, | ||
| const DWARFUnitSectionBase & | UnitSection | ||
| ) |
Definition at line 33 of file DWARFUnit.cpp.
References clear().
|
virtual |
Definition at line 43 of file DWARFUnit.cpp.
| void DWARFUnit::clear | ( | ) |
Definition at line 110 of file DWARFUnit.cpp.
Referenced by DWARFUnit(), and extract().
| void DWARFUnit::collectAddressRanges | ( | DWARFAddressRangesVector & | CURanges | ) |
Definition at line 309 of file DWARFUnit.cpp.
References getUnitDIE().
| bool DWARFUnit::extract | ( | DataExtractor | debug_info, |
| uint32_t * | offset_ptr | ||
| ) |
Definition at line 85 of file DWARFUnit.cpp.
References clear(), extractImpl(), and llvm::DataExtractor::isValidOffset().
|
protectedvirtual |
Reimplemented in llvm::DWARFTypeUnit.
Definition at line 68 of file DWARFUnit.cpp.
References llvm::DWARFDebugAbbrev::getAbbreviationDeclarationSet(), getNextUnitOffset(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU8(), llvm::DWARFContext::isSupportedVersion(), and llvm::DataExtractor::isValidOffset().
Referenced by extract(), and llvm::DWARFTypeUnit::extractImpl().
| bool DWARFUnit::extractRangeList | ( | uint32_t | RangeListOffset, |
| DWARFDebugRangeList & | RangeList | ||
| ) | const |
extractRangeList - extracts the range list referenced by this compile unit from .debug_ranges section.
Returns true on success. Requires that compile unit is already extracted.
Definition at line 101 of file DWARFUnit.cpp.
References llvm::DWARFDebugRangeList::extract().
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAddressRanges().
|
inline |
Definition at line 188 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), and llvm::DWARFDebugInfoEntryMinimal::extractFast().
|
inline |
Definition at line 191 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), llvm::DWARFDebugInfoEntryMinimal::extractFast(), llvm::DWARFFormValue::extractValue(), llvm::DWARFContext::getLineTableForUnit(), and llvm::DWARFFormValue::skipValue().
| bool DWARFUnit::getAddrOffsetSectionItem | ( | uint32_t | Index, |
| uint64_t & | Result | ||
| ) | const |
Definition at line 46 of file DWARFUnit.cpp.
References llvm::DataExtractor::getAddress(), and llvm::StringRef::size().
Referenced by llvm::DWARFFormValue::dump(), and llvm::DWARFFormValue::getAsAddress().
|
inline |
Definition at line 192 of file DWARFUnit.h.
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAddressRanges().
| const char * DWARFUnit::getCompilationDir | ( | ) |
Definition at line 123 of file DWARFUnit.cpp.
References llvm::dwarf::DW_AT_comp_dir.
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), llvm::DWARFContext::getInliningInfoForAddress(), llvm::DWARFContext::getLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().
|
inline |
Definition at line 150 of file DWARFUnit.h.
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute().
|
inline |
Definition at line 167 of file DWARFUnit.h.
References llvm::DWARFSection::Data.
Referenced by llvm::DWARFDebugInfoEntryMinimal::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), llvm::DWARFDebugInfoEntryMinimal::extractFast(), and llvm::DWARFDebugInfoEntryMinimal::getAttributeValue().
|
inline |
Return the DIE object at the given index.
Definition at line 236 of file DWARFUnit.h.
|
inline |
Return the DIE object for a given offset inside the unit's DIE vector.
The unit needs to have his DIEs extracted for this method to work.
Definition at line 245 of file DWARFUnit.h.
|
inline |
Return the index of a DIE inside the unit's DIE vector.
It is illegal to call this method with a DIE that hasn't be created by this unit. In other word, it's illegal to call this method on a DIE that isn't accessible by following children/sibling links starting from this unit's getUnitDIE().
Definition at line 229 of file DWARFUnit.h.
| uint64_t DWARFUnit::getDWOId | ( | ) |
Definition at line 130 of file DWARFUnit.cpp.
References llvm::dwarf::DW_AT_GNU_dwo_id.
|
inlineprotectedvirtual |
Size in bytes of the unit header.
Reimplemented in llvm::DWARFTypeUnit.
Definition at line 140 of file DWARFUnit.h.
Referenced by llvm::DWARFTypeUnit::getHeaderSize().
| DWARFDebugInfoEntryInlinedChain DWARFUnit::getInlinedChainForAddress | ( | uint64_t | Address | ) |
getInlinedChainForAddress - fetches inlined chain for a given address.
Returns empty chain if there is no subprogram containing address. The chain is valid as long as parsed compile unit DIEs are not cleared.
Definition at line 355 of file DWARFUnit.cpp.
References llvm::DWARFDebugInfoEntryMinimal::getInlinedChainForAddress().
Referenced by getFunctionNameForAddress(), and llvm::DWARFContext::getInliningInfoForAddress().
|
inline |
Definition at line 186 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), and llvm::DWARFTypeUnit::extractImpl().
|
inline |
Definition at line 185 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFDebugInfoEntryMinimal::extractFast(), and extractImpl().
|
inline |
Returns the number of DIEs in the unit.
Parses the unit if necessary.
Definition at line 218 of file DWARFUnit.h.
|
inline |
Definition at line 184 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFFormValue::dump(), and llvm::DWARFFormValue::getAsReference().
|
inline |
Definition at line 174 of file DWARFUnit.h.
References llvm::DWARFSection::Relocs.
Referenced by llvm::DWARFFormValue::extractValue().
|
inline |
Definition at line 170 of file DWARFUnit.h.
Referenced by llvm::DWARFFormValue::getAsCString().
|
inline |
Definition at line 153 of file DWARFUnit.h.
| bool DWARFUnit::getStringOffsetSectionItem | ( | uint32_t | Index, |
| uint32_t & | Result | ||
| ) | const |
Definition at line 56 of file DWARFUnit.cpp.
References llvm::DataExtractor::getU32(), and llvm::StringRef::size().
Referenced by llvm::DWARFFormValue::getAsCString().
|
inline |
Definition at line 152 of file DWARFUnit.h.
|
inline |
Definition at line 198 of file DWARFUnit.h.
Referenced by collectAddressRanges(), llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), and llvm::DWARFContext::getLineTableForUnit().
|
inline |
getUnitSection - Return the DWARFUnitSection containing this unit.
Definition at line 214 of file DWARFUnit.h.
Referenced by findUnitAndExtractFast().
|
inline |
Definition at line 187 of file DWARFUnit.h.
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFDebugInfoEntryMinimal::extractFast(), llvm::DWARFFormValue::extractValue(), and llvm::DWARFFormValue::skipValue().
|
inline |
Definition at line 154 of file DWARFUnit.h.
|
inline |
Definition at line 194 of file DWARFUnit.h.
|
inline |
Definition at line 158 of file DWARFUnit.h.
1.8.6