LLVM 17.0.0git
|
Public Member Functions | |
CUInfo (DWARFContext &DICtx, DWARFCompileUnit *CU) | |
bool | isHighestAddress (uint64_t Addr) const |
Return true if Addr is the highest address for a given compile unit. | |
uint32_t | DWARFToGSYMFileIndex (GsymCreator &Gsym, uint32_t DwarfFileIdx) |
Convert a DWARF compile unit file index into a GSYM global file index. | |
Public Attributes | |
const DWARFDebugLine::LineTable * | LineTable |
const char * | CompDir |
std::vector< uint32_t > | FileCache |
uint64_t | Language = 0 |
uint8_t | AddrSize = 0 |
Definition at line 29 of file DwarfTransformer.cpp.
|
inline |
Definition at line 36 of file DwarfTransformer.cpp.
References AddrSize, CompDir, llvm::DWARFDie::find(), llvm::DWARFContext::getLineTableForUnit(), Language, llvm::gsym::LineTable::size(), and llvm::dwarf::toUnsigned().
|
inline |
Convert a DWARF compile unit file index into a GSYM global file index.
Each compile unit in DWARF has its own file table in the line table prologue. GSYM has a single large file table that applies to all files from all of the info in a GSYM file. This function converts between the two and caches and DWARF CU file index that has already been converted so the first client that asks for a compile unit file index will end up doing the conversion, and subsequent clients will get the cached GSYM index.
Definition at line 68 of file DwarfTransformer.cpp.
References assert(), CompDir, and llvm::gsym::GsymCreator::insertFile().
Referenced by convertFunctionLineTable(), and parseInlineInfo().
Return true if Addr is the highest address for a given compile unit.
The highest address is encoded as -1, of all ones in the address. These high addresses are used by some linkers to indicate that a function has been dead stripped or didn't end up in the linked executable.
Definition at line 51 of file DwarfTransformer.cpp.
References Addr, AddrSize, and UINT64_MAX.
uint8_t llvm::gsym::CUInfo::AddrSize = 0 |
Definition at line 34 of file DwarfTransformer.cpp.
Referenced by CUInfo(), and isHighestAddress().
Definition at line 31 of file DwarfTransformer.cpp.
Referenced by CUInfo(), and DWARFToGSYMFileIndex().
std::vector<uint32_t> llvm::gsym::CUInfo::FileCache |
Definition at line 32 of file DwarfTransformer.cpp.
uint64_t llvm::gsym::CUInfo::Language = 0 |
Definition at line 33 of file DwarfTransformer.cpp.
Referenced by CUInfo(), and parseInlineInfo().
const DWARFDebugLine::LineTable* llvm::gsym::CUInfo::LineTable |
Definition at line 30 of file DwarfTransformer.cpp.
Referenced by convertFunctionLineTable().