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