LLVM: include/llvm/BinaryFormat/Minidump.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18#ifndef LLVM_BINARYFORMAT_MINIDUMP_H

19#define LLVM_BINARYFORMAT_MINIDUMP_H

20

24

25namespace llvm {

27

29

30

31

46static_assert(sizeof(Header) == 32);

47

48

49

51#define HANDLE_MDMP_STREAM_TYPE(CODE, NAME) NAME = CODE,

52#include "llvm/BinaryFormat/MinidumpConstants.def"

55};

56

57

58

64

65

66

72

78

83

89

101static_assert(sizeof(MemoryInfoListHeader) == 16);

102

104#define HANDLE_MDMP_PROTECT(CODE, NAME, NATIVENAME) NAME = CODE,

105#include "llvm/BinaryFormat/MinidumpConstants.def"

107};

108

110#define HANDLE_MDMP_MEMSTATE(CODE, NAME, NATIVENAME) NAME = CODE,

111#include "llvm/BinaryFormat/MinidumpConstants.def"

113};

114

116#define HANDLE_MDMP_MEMTYPE(CODE, NAME, NATIVENAME) NAME = CODE,

117#include "llvm/BinaryFormat/MinidumpConstants.def"

119};

120

132static_assert(sizeof(MemoryInfo) == 48);

133

134

135

136

141static_assert(sizeof(Directory) == 12);

142

143

144

146#define HANDLE_MDMP_ARCH(CODE, NAME) NAME = CODE,

147#include "llvm/BinaryFormat/MinidumpConstants.def"

148};

149

150

151

153#define HANDLE_MDMP_PLATFORM(CODE, NAME) NAME = CODE,

154#include "llvm/BinaryFormat/MinidumpConstants.def"

155};

156

157

158

174static_assert(sizeof(CPUInfo) == 24);

175

176

177

197static_assert(sizeof(SystemInfo) == 56);

198

215

219

232static_assert(sizeof(Module) == 108);

233

234

235

245static_assert(sizeof(Thread) == 48);

246

260static_assert(sizeof(Exception) == 152);

261

269

270}

271

287

288}

289

290#endif

This file defines DenseMapInfo traits for DenseMap.

Merge contiguous icmps into a memcmp

Define some predicates that are used for node matching.

bool operator==(const VSFixedFileInfo &LHS, const VSFixedFileInfo &RHS)

Definition Minidump.h:216

MemoryProtection

Definition Minidump.h:103

@ LLVM_MARK_AS_BITMASK_ENUM

Definition Minidump.h:106

ProcessorArchitecture

The processor architecture of the system that generated this minidump.

Definition Minidump.h:145

MemoryType

Definition Minidump.h:115

StreamType

The type of a minidump stream identifies its contents.

Definition Minidump.h:50

@ LastReserved

Definition Minidump.h:54

@ Unused

Definition Minidump.h:53

MemoryState

Definition Minidump.h:109

OSPlatform

The OS Platform of the system that generated this minidump.

Definition Minidump.h:152

LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

detail::packed_endian_specific_integral< uint64_t, llvm::endianness::little, unaligned > ulittle64_t

detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t

detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_t

detail::packed_endian_specific_integral< T, llvm::endianness::little, unaligned > little_t

This is an optimization pass for GlobalISel generic memory operations.

static unsigned getHashValue(minidump::StreamType Val)

Definition Minidump.h:279

static minidump::StreamType getTombstoneKey()

Definition Minidump.h:275

static bool isEqual(minidump::StreamType LHS, minidump::StreamType RHS)

Definition Minidump.h:283

static minidump::StreamType getEmptyKey()

Definition Minidump.h:273

An information struct used to provide DenseMap with the various necessary components for a given valu...

Definition Minidump.h:166

support::ulittle32_t CPUID

Definition Minidump.h:167

support::ulittle32_t ElfHWCaps

Definition Minidump.h:168

Definition Minidump.h:170

uint8_t ProcessorFeatures[16]

Definition Minidump.h:171

Definition Minidump.h:160

char VendorID[12]

Definition Minidump.h:161

support::ulittle32_t AMDExtendedFeatures

Definition Minidump.h:164

support::ulittle32_t VersionInfo

Definition Minidump.h:162

support::ulittle32_t FeatureInfo

Definition Minidump.h:163

Specifies the location and type of a single stream in the minidump file.

Definition Minidump.h:137

LocationDescriptor Location

Definition Minidump.h:139

support::little_t< StreamType > Type

Definition Minidump.h:138

Definition Minidump.h:262

support::ulittle32_t UnusedAlignment

Definition Minidump.h:264

LocationDescriptor ThreadContext

Definition Minidump.h:266

Exception ExceptionRecord

Definition Minidump.h:265

support::ulittle32_t ThreadId

Definition Minidump.h:263

Definition Minidump.h:247

static constexpr size_t MaxParameters

Definition Minidump.h:248

support::ulittle32_t ExceptionFlags

Definition Minidump.h:253

support::ulittle32_t NumberParameters

Definition Minidump.h:256

support::ulittle64_t ExceptionInformation[MaxParameters]

Definition Minidump.h:258

support::ulittle64_t ExceptionRecord

Definition Minidump.h:254

static constexpr size_t MaxParameterBytes

Definition Minidump.h:249

static const uint32_t LLDB_FLAG

Definition Minidump.h:250

support::ulittle64_t ExceptionAddress

Definition Minidump.h:255

support::ulittle32_t UnusedAlignment

Definition Minidump.h:257

support::ulittle32_t ExceptionCode

Definition Minidump.h:252

Specifies the location (and size) of various objects in the minidump file.

Definition Minidump.h:59

support::ulittle32_t RVA

Definition Minidump.h:61

support::ulittle32_t DataSize

Definition Minidump.h:60

support::ulittle64_t DataSize

Definition Minidump.h:75

support::ulittle64_t StartOfMemoryRange

Definition Minidump.h:74

Describes a single memory range (both its VM address and where to find it in the file) of the process...

Definition Minidump.h:67

support::ulittle64_t StartOfMemoryRange

Definition Minidump.h:68

LocationDescriptor Memory

Definition Minidump.h:69

Definition Minidump.h:121

support::little_t< MemoryState > State

Definition Minidump.h:127

support::ulittle64_t BaseAddress

Definition Minidump.h:122

support::little_t< MemoryProtection > AllocationProtect

Definition Minidump.h:124

support::little_t< MemoryType > Type

Definition Minidump.h:129

support::little_t< MemoryProtection > Protect

Definition Minidump.h:128

support::ulittle32_t Reserved1

Definition Minidump.h:130

support::ulittle64_t AllocationBase

Definition Minidump.h:123

support::ulittle32_t Reserved0

Definition Minidump.h:125

support::ulittle64_t RegionSize

Definition Minidump.h:126

Definition Minidump.h:220

LocationDescriptor CvRecord

Definition Minidump.h:227

support::ulittle64_t Reserved0

Definition Minidump.h:229

support::ulittle32_t TimeDateStamp

Definition Minidump.h:224

support::ulittle64_t Reserved1

Definition Minidump.h:230

support::ulittle32_t Checksum

Definition Minidump.h:223

LocationDescriptor MiscRecord

Definition Minidump.h:228

VSFixedFileInfo VersionInfo

Definition Minidump.h:226

support::ulittle32_t SizeOfImage

Definition Minidump.h:222

support::ulittle64_t BaseOfImage

Definition Minidump.h:221

support::ulittle32_t ModuleNameRVA

Definition Minidump.h:225

The SystemInfo stream, containing various information about the system where this minidump was genera...

Definition Minidump.h:178

support::ulittle16_t ProcessorRevision

Definition Minidump.h:181

support::little_t< ProcessorArchitecture > ProcessorArch

Definition Minidump.h:179

support::ulittle32_t BuildNumber

Definition Minidump.h:188

support::ulittle16_t SuiteMask

Definition Minidump.h:192

support::ulittle32_t MajorVersion

Definition Minidump.h:186

CPUInfo CPU

Definition Minidump.h:195

support::little_t< OSPlatform > PlatformId

Definition Minidump.h:189

uint8_t NumberOfProcessors

Definition Minidump.h:183

support::ulittle32_t CSDVersionRVA

Definition Minidump.h:190

support::ulittle32_t MinorVersion

Definition Minidump.h:187

uint8_t ProductType

Definition Minidump.h:184

support::ulittle16_t Reserved

Definition Minidump.h:193

support::ulittle16_t ProcessorLevel

Definition Minidump.h:180

Describes a single thread in the minidump file.

Definition Minidump.h:236

support::ulittle32_t Priority

Definition Minidump.h:240

support::ulittle64_t EnvironmentBlock

Definition Minidump.h:241

support::ulittle32_t PriorityClass

Definition Minidump.h:239

MemoryDescriptor Stack

Definition Minidump.h:242

LocationDescriptor Context

Definition Minidump.h:243

support::ulittle32_t SuspendCount

Definition Minidump.h:238

support::ulittle32_t ThreadId

Definition Minidump.h:237

Definition Minidump.h:199

support::ulittle32_t Signature

Definition Minidump.h:200

support::ulittle32_t StructVersion

Definition Minidump.h:201

support::ulittle32_t FileDateLow

Definition Minidump.h:212

support::ulittle32_t FileVersionLow

Definition Minidump.h:203

support::ulittle32_t FileDateHigh

Definition Minidump.h:211

support::ulittle32_t FileFlagsMask

Definition Minidump.h:206

support::ulittle32_t ProductVersionLow

Definition Minidump.h:205

support::ulittle32_t FileFlags

Definition Minidump.h:207

support::ulittle32_t FileSubtype

Definition Minidump.h:210

support::ulittle32_t FileOS

Definition Minidump.h:208

support::ulittle32_t FileType

Definition Minidump.h:209

support::ulittle32_t FileVersionHigh

Definition Minidump.h:202

support::ulittle32_t ProductVersionHigh

Definition Minidump.h:204

Detailed information about the processor of the system that generated this minidump.

Definition Minidump.h:159

struct llvm::minidump::CPUInfo::ArmInfo Arm