LLVM
8.0.1
|
#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"
Public Member Functions | |
Prologue () | |
const dwarf::FormParams | getFormParams () const |
uint16_t | getVersion () const |
uint8_t | getAddressSize () const |
bool | isDWARF64 () const |
uint32_t | sizeofTotalLength () const |
uint32_t | sizeofPrologueLength () const |
bool | totalLengthIsValid () const |
uint32_t | getLength () const |
Length of the prologue in bytes. More... | |
uint32_t | getStatementTableLength () const |
Length of the line table data in bytes (not including the prologue). More... | |
int32_t | getMaxLineIncrementForSpecialOpcode () const |
void | clear () |
void | dump (raw_ostream &OS, DIDumpOptions DumpOptions) const |
Error | parse (const DWARFDataExtractor &DebugLineData, uint32_t *OffsetPtr, const DWARFContext &Ctx, const DWARFUnit *U=nullptr) |
Public Attributes | |
uint64_t | TotalLength |
The size in bytes of the statement information for this compilation unit (not including the total_length field itself). More... | |
dwarf::FormParams | FormParams |
Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5). More... | |
uint64_t | PrologueLength |
The number of bytes following the prologue_length field to the beginning of the first byte of the statement program itself. More... | |
uint8_t | SegSelectorSize |
In v5, size in bytes of a segment selector. More... | |
uint8_t | MinInstLength |
The size in bytes of the smallest target machine instruction. More... | |
uint8_t | MaxOpsPerInst |
The maximum number of individual operations that may be encoded in an instruction. More... | |
uint8_t | DefaultIsStmt |
The initial value of theis_stmtregister. More... | |
int8_t | LineBase |
This parameter affects the meaning of the special opcodes. See below. More... | |
uint8_t | LineRange |
This parameter affects the meaning of the special opcodes. See below. More... | |
uint8_t | OpcodeBase |
The number assigned to the first special opcode. More... | |
ContentTypeTracker | ContentTypes |
This tracks which optional file format content types are present. More... | |
std::vector< uint8_t > | StandardOpcodeLengths |
std::vector< DWARFFormValue > | IncludeDirectories |
std::vector< FileNameEntry > | FileNames |
Definition at line 63 of file DWARFDebugLine.h.
DWARFDebugLine::Prologue::Prologue | ( | ) |
Definition at line 68 of file DWARFDebugLine.cpp.
References clear().
void DWARFDebugLine::Prologue::clear | ( | ) |
Definition at line 70 of file DWARFDebugLine.cpp.
References llvm::dwarf::DWARF32.
Referenced by llvm::DWARFDebugLine::LineTable::clear().
void DWARFDebugLine::Prologue::dump | ( | raw_ostream & | OS, |
DIDumpOptions | DumpOptions | ||
) | const |
Definition at line 82 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::FileNameEntry::Checksum, llvm::StringRef::data(), llvm::MD5::MD5Result::digest(), llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::DWARFFormValue::dump(), llvm::format(), I, llvm::DWARFDebugLine::FileNameEntry::Length, llvm::dwarf::LNStandardString(), llvm::DWARFDebugLine::FileNameEntry::ModTime, llvm::DWARFDebugLine::FileNameEntry::Name, and llvm::DWARFDebugLine::FileNameEntry::Source.
Referenced by llvm::DWARFDebugLine::LineTable::dump(), and llvm::DWARFDebugLine::LineTable::parse().
|
inline |
Definition at line 101 of file DWARFDebugLine.h.
References llvm::dwarf::FormParams::AddrSize.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
|
inline |
Definition at line 99 of file DWARFDebugLine.h.
|
inline |
Length of the prologue in bytes.
Definition at line 111 of file DWARFDebugLine.h.
|
inline |
Definition at line 121 of file DWARFDebugLine.h.
References clear(), llvm::dump(), and llvm::json::parse().
|
inline |
Length of the line table data in bytes (not including the prologue).
Definition at line 117 of file DWARFDebugLine.h.
|
inline |
Definition at line 100 of file DWARFDebugLine.h.
References llvm::dwarf::FormParams::Version.
|
inline |
Definition at line 102 of file DWARFDebugLine.h.
References llvm::dwarf::DWARF64, and llvm::dwarf::FormParams::Format.
Error DWARFDebugLine::Prologue::parse | ( | const DWARFDataExtractor & | DebugLineData, |
uint32_t * | OffsetPtr, | ||
const DWARFContext & | Ctx, | ||
const DWARFUnit * | U = nullptr |
||
) |
Definition at line 277 of file DWARFDebugLine.cpp.
References llvm::dwarf::FormParams::AddrSize, assert(), clear(), llvm::createStringError(), llvm::dwarf::DWARF64, llvm::dwarf::FormParams::Format, llvm::DataExtractor::getAddressSize(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU64(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getUnsigned(), I, llvm::invalid_argument, llvm::not_supported, parseV2DirFileTables(), parseV5DirFileTables(), llvm::Error::success(), and llvm::dwarf::FormParams::Version.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
|
inline |
Definition at line 106 of file DWARFDebugLine.h.
|
inline |
Definition at line 104 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
bool DWARFDebugLine::Prologue::totalLengthIsValid | ( | ) | const |
Definition at line 1060 of file DWARFDebugLine.cpp.
ContentTypeTracker llvm::DWARFDebugLine::Prologue::ContentTypes |
This tracks which optional file format content types are present.
Definition at line 94 of file DWARFDebugLine.h.
uint8_t llvm::DWARFDebugLine::Prologue::DefaultIsStmt |
The initial value of theis_stmtregister.
Definition at line 86 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::clear().
std::vector<FileNameEntry> llvm::DWARFDebugLine::Prologue::FileNames |
Definition at line 97 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::DWARFDebugLine::LineTable::hasFileAtIndex(), and llvm::DWARFDebugLine::LineTable::parse().
dwarf::FormParams llvm::DWARFDebugLine::Prologue::FormParams |
Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5).
Definition at line 72 of file DWARFDebugLine.h.
std::vector<DWARFFormValue> llvm::DWARFDebugLine::Prologue::IncludeDirectories |
Definition at line 96 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::getFileNameByIndex().
int8_t llvm::DWARFDebugLine::Prologue::LineBase |
This parameter affects the meaning of the special opcodes. See below.
Definition at line 88 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
uint8_t llvm::DWARFDebugLine::Prologue::LineRange |
This parameter affects the meaning of the special opcodes. See below.
Definition at line 90 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
uint8_t llvm::DWARFDebugLine::Prologue::MaxOpsPerInst |
The maximum number of individual operations that may be encoded in an instruction.
Definition at line 84 of file DWARFDebugLine.h.
uint8_t llvm::DWARFDebugLine::Prologue::MinInstLength |
The size in bytes of the smallest target machine instruction.
Statement program opcodes that alter the address register first multiply their operands by this value.
Definition at line 81 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
uint8_t llvm::DWARFDebugLine::Prologue::OpcodeBase |
The number assigned to the first special opcode.
Definition at line 92 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
uint64_t llvm::DWARFDebugLine::Prologue::PrologueLength |
The number of bytes following the prologue_length field to the beginning of the first byte of the statement program itself.
Definition at line 75 of file DWARFDebugLine.h.
uint8_t llvm::DWARFDebugLine::Prologue::SegSelectorSize |
In v5, size in bytes of a segment selector.
Definition at line 77 of file DWARFDebugLine.h.
std::vector<uint8_t> llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths |
Definition at line 95 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().
uint64_t llvm::DWARFDebugLine::Prologue::TotalLength |
The size in bytes of the statement information for this compilation unit (not including the total_length field itself).
Definition at line 68 of file DWARFDebugLine.h.
Referenced by llvm::DWARFDebugLine::LineTable::parse().