LLVM: include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
11
15#include
16#include
17
18namespace llvm {
19
22
23
24
25
29
30
32
34
35
36
38
39
41 std::vector<uint64_t> Addrs;
42
43
44 void invalidateLength() { Length = 0; }
45
48
49public:
50
51
54 std::function<void(Error)> WarnCallback);
55
56
58 uint8_t CUAddrSize, std::function<void(Error)> WarnCallback);
59
60
61
62
65
67
68
70
71
72
74
75
77
78
80
81
83
84
86
87
89
90
92};
93
94}
95
96#endif
This file contains constants used for implementing Dwarf debug support.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A class representing an address table as specified in DWARF v5.
Definition DWARFDebugAddr.h:26
uint16_t getVersion() const
Return the version of this table.
Definition DWARFDebugAddr.h:82
uint64_t getLength() const
Return the length of this table.
Definition DWARFDebugAddr.h:79
uint8_t getSegmentSelectorSize() const
Return the segment selector size of this table.
Definition DWARFDebugAddr.h:88
void dump(raw_ostream &OS, DIDumpOptions DumpOpts={}) const
uint8_t getAddressSize() const
Return the address size of this table.
Definition DWARFDebugAddr.h:85
ArrayRef< uint64_t > getAddressEntries() const
Return the parsed addresses of this table.
Definition DWARFDebugAddr.h:91
Error extractV5(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint8_t CUAddrSize, std::function< void(Error)> WarnCallback)
Extract a DWARFv5 address table.
Error extractPreStandard(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint16_t CUVersion, uint8_t CUAddrSize)
Extract a pre-DWARFv5 address table.
dwarf::DwarfFormat getFormat() const
Return the DWARF format of this table.
Definition DWARFDebugAddr.h:76
std::optional< uint64_t > getFullLength() const
Return the full length of this table, including the length field.
Expected< uint64_t > getAddrEntry(uint32_t Index) const
Return the address based on a given index.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This class implements an extremely fast bulk output stream that can only output to a stream.
DwarfFormat
Constants that define the DWARF format as 32 or 64 bit.
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr uintptr_t uintptr_t Data
Container for dump options that control which debug information will be dumped.