LLVM 20.0.0git
|
#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
Public Member Functions | |
DWARFDebugLoclists (DWARFDataExtractor Data, uint16_t Version) | |
Error | visitLocationList (uint64_t *Offset, function_ref< bool(const DWARFLocationEntry &)> Callback) const override |
Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at Offset . | |
void | dumpRange (uint64_t StartOffset, uint64_t Size, raw_ostream &OS, const DWARFObject &Obj, DIDumpOptions DumpOpts) |
Dump all location lists within the given range. | |
Public Member Functions inherited from llvm::DWARFLocationTable | |
DWARFLocationTable (DWARFDataExtractor Data) | |
virtual | ~DWARFLocationTable ()=default |
virtual Error | visitLocationList (uint64_t *Offset, function_ref< bool(const DWARFLocationEntry &)> Callback) const =0 |
Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at Offset . | |
bool | dumpLocationList (uint64_t *Offset, raw_ostream &OS, std::optional< object::SectionedAddress > BaseAddr, const DWARFObject &Obj, DWARFUnit *U, DIDumpOptions DumpOpts, unsigned Indent) const |
Dump the location list at the given Offset . | |
Error | visitAbsoluteLocationList (uint64_t Offset, std::optional< object::SectionedAddress > BaseAddr, std::function< std::optional< object::SectionedAddress >(uint32_t)> LookupAddr, function_ref< bool(Expected< DWARFLocationExpression >)> Callback) const |
const DWARFDataExtractor & | getData () |
Protected Member Functions | |
void | dumpRawEntry (const DWARFLocationEntry &Entry, raw_ostream &OS, unsigned Indent, DIDumpOptions DumpOpts, const DWARFObject &Obj) const override |
virtual void | dumpRawEntry (const DWARFLocationEntry &Entry, raw_ostream &OS, unsigned Indent, DIDumpOptions DumpOpts, const DWARFObject &Obj) const =0 |
Additional Inherited Members | |
Protected Attributes inherited from llvm::DWARFLocationTable | |
DWARFDataExtractor | Data |
Definition at line 124 of file DWARFDebugLoc.h.
|
inline |
Definition at line 126 of file DWARFDebugLoc.h.
void DWARFDebugLoclists::dumpRange | ( | uint64_t | StartOffset, |
uint64_t | Size, | ||
raw_ostream & | OS, | ||
const DWARFObject & | Obj, | ||
DIDumpOptions | DumpOpts | ||
) |
Dump all location lists within the given range.
Definition at line 386 of file DWARFDebugLoc.cpp.
References llvm::DWARFLocationTable::Data, llvm::DWARFLocationTable::dumpLocationList(), llvm::DataExtractor::isValidOffsetForDataOfSize(), llvm::Offset, OS, and Size.
Referenced by llvm::DWARFContext::dump(), and dumpLoclistsSection().
|
overrideprotectedvirtual |
Implements llvm::DWARFLocationTable.
Definition at line 340 of file DWARFDebugLoc.cpp.
References assert(), llvm::StringRef::data(), llvm::DWARFLocationTable::Data, llvm::DWARFFormValue::dumpAddressSection(), llvm::StringRef::empty(), llvm::format(), llvm::format_hex(), llvm::DataExtractor::getAddressSize(), llvm::raw_ostream::indent(), llvm::dwarf::LocListEncodingString(), and OS.
|
overridevirtual |
Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at Offset
.
The callback can return false to terminate the iteration early. Returns an error if it was unable to parse the entire location list correctly. Upon successful termination Offset
will be updated point past the end of the list.
Implements llvm::DWARFLocationTable.
Definition at line 273 of file DWARFDebugLoc.cpp.
References llvm::CallingConv::C, llvm::cantFail(), llvm::Continue, llvm::createStringError(), llvm::DWARFLocationTable::Data, F, llvm::DWARFDataExtractor::getRelocatedAddress(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), llvm::illegal_byte_sequence, llvm::DWARFLocationEntry::Kind, llvm::DWARFLocationEntry::Loc, llvm::Offset, llvm::DWARFLocationEntry::SectionIndex, llvm::Error::success(), llvm::object::SectionedAddress::UndefSection, llvm::DWARFLocationEntry::Value0, and llvm::DWARFLocationEntry::Value1.