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.