LLVM
15.0.0git
|
Base class describing the header of any kind of "unit." Some information is specific to certain unit types. More...
#include "llvm/DebugInfo/DWARF/DWARFUnit.h"
Public Member Functions | |
bool | extract (DWARFContext &Context, const DWARFDataExtractor &debug_info, uint64_t *offset_ptr, DWARFSectionKind SectionKind) |
Parse a unit header from debug_info starting at offset_ptr . More... | |
bool | applyIndexEntry (const DWARFUnitIndex::Entry *Entry) |
uint64_t | getOffset () const |
const dwarf::FormParams & | getFormParams () const |
uint16_t | getVersion () const |
dwarf::DwarfFormat | getFormat () const |
uint8_t | getAddressByteSize () const |
uint8_t | getRefAddrByteSize () const |
uint8_t | getDwarfOffsetByteSize () const |
uint64_t | getLength () const |
uint64_t | getAbbrOffset () const |
Optional< uint64_t > | getDWOId () const |
void | setDWOId (uint64_t Id) |
const DWARFUnitIndex::Entry * | getIndexEntry () const |
uint64_t | getTypeHash () const |
uint64_t | getTypeOffset () const |
uint8_t | getUnitType () const |
bool | isTypeUnit () const |
uint8_t | getSize () const |
uint8_t | getUnitLengthFieldByteSize () const |
uint64_t | getNextUnitOffset () const |
Base class describing the header of any kind of "unit." Some information is specific to certain unit types.
We separate this class out so we can parse the header before deciding what specific kind of unit to construct.
Definition at line 51 of file DWARFUnit.h.
bool DWARFUnitHeader::applyIndexEntry | ( | const DWARFUnitIndex::Entry * | Entry | ) |
Definition at line 348 of file DWARFUnit.cpp.
bool DWARFUnitHeader::extract | ( | DWARFContext & | Context, |
const DWARFDataExtractor & | debug_info, | ||
uint64_t * | offset_ptr, | ||
DWARFSectionKind | SectionKind | ||
) |
Parse a unit header from debug_info
starting at offset_ptr
.
Note that SectionKind
is used as a hint to guess the unit type for DWARF formats prior to DWARFv5. In DWARFv5 the unit type is explicitly defined in the header and the hint is ignored.
Definition at line 247 of file DWARFUnit.cpp.
|
inline |
Definition at line 95 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getAbbreviationsOffset(), and llvm::DWARFUnit::getAbbrOffset().
|
inline |
Definition at line 89 of file DWARFUnit.h.
References llvm::dwarf::FormParams::AddrSize.
Referenced by llvm::DWARFUnit::findRnglistFromOffset(), and llvm::DWARFUnit::getAddressByteSize().
|
inline |
Definition at line 91 of file DWARFUnit.h.
References llvm::dwarf::FormParams::getDwarfOffsetByteSize().
Referenced by llvm::DWARFUnit::getDwarfOffsetByteSize().
Definition at line 96 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getDWOId().
|
inline |
Definition at line 88 of file DWARFUnit.h.
References llvm::dwarf::FormParams::Format.
Referenced by llvm::DWARFUnit::determineStringOffsetsTableContribution(), llvm::DWARFUnit::determineStringOffsetsTableContributionDWO(), llvm::DWARFUnit::getFormat(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().
|
inline |
Definition at line 86 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getFormParams().
|
inline |
Definition at line 101 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::determineStringOffsetsTableContributionDWO(), llvm::DWARFUnit::getLineTableOffset(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().
|
inline |
Definition at line 94 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getLength().
|
inline |
Definition at line 112 of file DWARFUnit.h.
References getUnitLengthFieldByteSize().
Referenced by llvm::DWARFUnit::getNextUnitOffset().
|
inline |
Definition at line 85 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getOffset().
|
inline |
Definition at line 90 of file DWARFUnit.h.
References llvm::dwarf::FormParams::getRefAddrByteSize().
Referenced by llvm::DWARFUnit::getRefAddrByteSize().
|
inline |
Definition at line 108 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getHeaderSize().
|
inline |
Definition at line 102 of file DWARFUnit.h.
Referenced by llvm::DWARFTypeUnit::getTypeHash().
|
inline |
Definition at line 103 of file DWARFUnit.h.
Referenced by llvm::DWARFTypeUnit::getTypeOffset().
|
inline |
Definition at line 109 of file DWARFUnit.h.
References llvm::dwarf::FormParams::Format, and llvm::dwarf::getUnitLengthFieldByteSize().
Referenced by getNextUnitOffset().
|
inline |
Definition at line 104 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::getUnitType().
|
inline |
Definition at line 87 of file DWARFUnit.h.
References llvm::dwarf::FormParams::Version.
Referenced by llvm::DWARFUnit::getVersion(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().
|
inline |
Definition at line 105 of file DWARFUnit.h.
Referenced by llvm::DWARFUnit::isTypeUnit().
|
inline |
Definition at line 97 of file DWARFUnit.h.
References assert().
Referenced by llvm::DWARFUnit::setDWOId(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().