LLVM  14.0.0git
RawTypes.h
Go to the documentation of this file.
1 //===- RawTypes.h -----------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_RAWTYPES_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_RAWTYPES_H
11 
14 #include "llvm/Support/Endian.h"
15 
16 namespace llvm {
17 namespace pdb {
18 // This struct is defined as "SO" in langapi/include/pdb.h.
19 struct SectionOffset {
22  char Padding[2];
23 };
24 
25 /// Header of the hash tables found in the globals and publics sections.
26 /// Based on GSIHashHdr in
27 /// https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/dbi/gsi.h
28 struct GSIHashHeader {
29  enum : unsigned {
30  HdrSignature = ~0U,
31  HdrVersion = 0xeffe0000 + 19990810,
32  };
37 };
38 
39 // This is HRFile.
40 struct PSHashRecord {
41  support::ulittle32_t Off; // Offset in the symbol record stream
43 };
44 
45 // This struct is defined as `SC` in include/dbicommon.h
48  char Padding[2];
53  char Padding2[2];
56 };
57 
58 // This struct is defined as `SC2` in include/dbicommon.h
60  // To guarantee SectionContrib2 is standard layout, we cannot use inheritance.
63 };
64 
65 // This corresponds to the `OMFSegMap` structure.
66 struct SecMapHeader {
67  support::ulittle16_t SecCount; // Number of segment descriptors in table
68  support::ulittle16_t SecCountLog; // Number of logical segment descriptors
69 };
70 
71 // This corresponds to the `OMFSegMapDesc` structure. The definition is not
72 // present in the reference implementation, but the layout is derived from
73 // code that accesses the fields.
74 struct SecMapEntry {
75  support::ulittle16_t Flags; // Descriptor flags. See OMFSegDescFlags
76  support::ulittle16_t Ovl; // Logical overlay number.
77  support::ulittle16_t Group; // Group index into descriptor array.
79  support::ulittle16_t SecName; // Byte index of the segment or group name
80  // in the sstSegName table, or 0xFFFF.
81  support::ulittle16_t ClassName; // Byte index of the class name in the
82  // sstSegName table, or 0xFFFF.
83  support::ulittle32_t Offset; // Byte offset of the logical segment
84  // within the specified physical segment.
85  // If group is set in flags, offset is the
86  // offset of the group.
87  support::ulittle32_t SecByteLength; // Byte count of the segment or group.
88 };
89 
90 /// Some of the values are stored in bitfields. Since this needs to be portable
91 /// across compilers and architectures (big / little endian in particular) we
92 /// can't use the actual structures below, but must instead do the shifting
93 /// and masking ourselves. The struct definitions are provided for reference.
94 struct DbiFlags {
95  /// uint16_t IncrementalLinking : 1; // True if linked incrementally
96  /// uint16_t IsStripped : 1; // True if private symbols were
97  /// stripped.
98  /// uint16_t HasCTypes : 1; // True if linked with /debug:ctypes.
99  /// uint16_t Reserved : 13;
100  static const uint16_t FlagIncrementalMask = 0x0001;
101  static const uint16_t FlagStrippedMask = 0x0002;
102  static const uint16_t FlagHasCTypesMask = 0x0004;
103 };
104 
105 struct DbiBuildNo {
106  /// uint16_t MinorVersion : 8;
107  /// uint16_t MajorVersion : 7;
108  /// uint16_t NewVersionFormat : 1;
109  static const uint16_t BuildMinorMask = 0x00FF;
110  static const uint16_t BuildMinorShift = 0;
111 
112  static const uint16_t BuildMajorMask = 0x7F00;
113  static const uint16_t BuildMajorShift = 8;
114 
115  static const uint16_t NewVersionFormatMask = 0x8000;
116 };
117 
118 /// The fixed size header that appears at the beginning of the DBI Stream.
122 
123  /// How "old" is this DBI Stream. Should match the age of the PDB InfoStream.
125 
126  /// Global symbol stream #
128 
129  /// See DbiBuildNo structure.
131 
132  /// Public symbols stream #
134 
135  /// version of mspdbNNN.dll
137 
138  /// Symbol records stream #
140 
141  /// rbld number of mspdbNNN.dll
143 
144  /// Size of module info stream
146 
147  /// Size of sec. contrib stream
149 
150  /// Size of sec. map substream
152 
153  /// Size of file info substream
155 
156  /// Size of type server map
158 
159  /// Index of MFC Type Server
161 
162  /// Size of DbgHeader info
164 
165  /// Size of EC stream (what is EC?)
167 
168  /// See DbiFlags enum.
170 
171  /// See PDB_MachineType enum.
173 
174  /// Pad to 64 bytes
176 };
177 static_assert(sizeof(DbiStreamHeader) == 64, "Invalid DbiStreamHeader size!");
178 
179 /// The header preceding the File Info Substream of the DBI stream.
181  /// Total # of modules, should match number of records in the ModuleInfo
182  /// substream.
184 
185  /// Total # of source files. This value is not accurate because PDB actually
186  /// supports more than 64k source files, so we ignore it and compute the value
187  /// from other stream fields.
189 
190  /// Following this header the File Info Substream is laid out as follows:
191  /// ulittle16_t ModIndices[NumModules];
192  /// ulittle16_t ModFileCounts[NumModules];
193  /// ulittle32_t FileNameOffsets[NumSourceFiles];
194  /// char Names[][NumSourceFiles];
195  /// with the caveat that `NumSourceFiles` cannot be trusted, so
196  /// it is computed by summing the `ModFileCounts` array.
197 };
198 
199 struct ModInfoFlags {
200  /// uint16_t fWritten : 1; // True if DbiModuleDescriptor is dirty
201  /// uint16_t fECEnabled : 1; // Is EC symbolic info present? (What is EC?)
202  /// uint16_t unused : 6; // Reserved
203  /// uint16_t iTSM : 8; // Type Server Index for this module
204  static const uint16_t HasECFlagMask = 0x2;
205 
206  static const uint16_t TypeServerIndexMask = 0xFF00;
207  static const uint16_t TypeServerIndexShift = 8;
208 };
209 
210 /// The header preceding each entry in the Module Info substream of the DBI
211 /// stream. Corresponds to the type MODI in the reference implementation.
213  /// Currently opened module. This field is a pointer in the reference
214  /// implementation, but that won't work on 64-bit systems, and anyway it
215  /// doesn't make sense to read a pointer from a file. For now it is unused,
216  /// so just ignore it.
218 
219  /// First section contribution of this module.
221 
222  /// See ModInfoFlags definition.
224 
225  /// Stream Number of module debug info
227 
228  /// Size of local symbol debug info in above stream
230 
231  /// Size of C11 line number info in above stream
233 
234  /// Size of C13 line number info in above stream
236 
237  /// Number of files contributing to this module
239 
240  /// Padding so the next field is 4-byte aligned.
241  char Padding1[2];
242 
243  /// Array of [0..NumFiles) DBI name buffer offsets. In the reference
244  /// implementation this field is a pointer. But since you can't portably
245  /// serialize a pointer, on 64-bit platforms they copy all the values except
246  /// this one into the 32-bit version of the struct and use that for
247  /// serialization. Regardless, this field is unused, it is only there to
248  /// store a pointer that can be accessed at runtime.
250 
251  /// Name Index for src file name
253 
254  /// Name Index for path to compiler PDB
256 
257  /// Following this header are two zero terminated strings.
258  /// char ModuleName[];
259  /// char ObjFileName[];
260 };
261 
262 // This is PSGSIHDR struct defined in
263 // https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/dbi/gsi.h
270  char Padding[2];
273 };
274 
275 // The header preceding the global TPI stream.
276 // This corresponds to `HDR` in PDB/dbi/tpi.h.
278  struct EmbeddedBuf {
281  };
282 
288 
289  // The following members correspond to `TpiHash` in PDB/dbi/tpi.h.
294 
298 };
299 
301 const uint32_t MaxTpiHashBuckets = 0x40000;
302 
303 /// The header preceding the global PDB Stream (Stream 1)
309 };
310 
311 /// The header preceding the /names stream.
313  support::ulittle32_t Signature; // PDBStringTableSignature
315  support::ulittle32_t ByteSize; // Number of bytes of names buffer.
316 };
317 
319 
320 /// The header preceding the /src/headerblock stream.
322  support::ulittle32_t Version; // PdbRaw_SrcHeaderBlockVer enumeration.
323  support::ulittle32_t Size; // Size of entire stream.
324  uint64_t FileTime; // Time stamp (Windows FILETIME format).
326  uint8_t Padding[44]; // Pad to 64 bytes.
327 };
328 static_assert(sizeof(SrcHeaderBlockHeader) == 64, "Incorrect struct size!");
329 
330 /// A single file record entry within the /src/headerblock stream.
332  support::ulittle32_t Size; // Record Length.
333  support::ulittle32_t Version; // PdbRaw_SrcHeaderBlockVer enumeration.
334  support::ulittle32_t CRC; // CRC of the original file contents.
335  support::ulittle32_t FileSize; // Size of original source file.
336  support::ulittle32_t FileNI; // String table index of file name.
337  support::ulittle32_t ObjNI; // String table index of object name.
338  support::ulittle32_t VFileNI; // String table index of virtual file name.
339  uint8_t Compression; // PDB_SourceCompression enumeration.
340  uint8_t IsVirtual; // Is this a virtual file (injected)?
341  short Padding; // Pad to 4 bytes.
342  char Reserved[8];
343 };
344 static_assert(sizeof(SrcHeaderBlockEntry) == 40, "Incorrect struct size!");
345 
346 } // namespace pdb
347 } // namespace llvm
348 
349 #endif
llvm::pdb::SrcHeaderBlockHeader::Padding
uint8_t Padding[44]
Definition: RawTypes.h:326
llvm::pdb::DbiStreamHeader::TypeServerSize
support::little32_t TypeServerSize
Size of type server map.
Definition: RawTypes.h:157
llvm
This file implements support for optimizing divisions by a constant.
Definition: AllocatorList.h:23
GUID.h
llvm::pdb::SecMapEntry::Flags
support::ulittle16_t Flags
Definition: RawTypes.h:75
llvm::pdb::TpiStreamHeader::IndexOffsetBuffer
EmbeddedBuf IndexOffsetBuffer
Definition: RawTypes.h:296
llvm::pdb::SrcHeaderBlockEntry::VFileNI
support::ulittle32_t VFileNI
Definition: RawTypes.h:338
llvm::pdb::DbiBuildNo::BuildMajorMask
static const uint16_t BuildMajorMask
Definition: RawTypes.h:112
llvm::pdb::ModuleInfoHeader::PdbFilePathNI
support::ulittle32_t PdbFilePathNI
Name Index for path to compiler PDB.
Definition: RawTypes.h:255
llvm::pdb::SectionContrib
Definition: RawTypes.h:46
llvm::pdb::DbiBuildNo::BuildMinorMask
static const uint16_t BuildMinorMask
uint16_t MinorVersion : 8; uint16_t MajorVersion : 7; uint16_t NewVersionFormat : 1;
Definition: RawTypes.h:109
llvm::pdb::SrcHeaderBlockHeader::FileTime
uint64_t FileTime
Definition: RawTypes.h:324
llvm::pdb::PublicsStreamHeader::SizeOfThunk
support::ulittle32_t SizeOfThunk
Definition: RawTypes.h:268
llvm::pdb::SectionOffset
Definition: RawTypes.h:19
llvm::pdb::PublicsStreamHeader::AddrMap
support::ulittle32_t AddrMap
Definition: RawTypes.h:266
llvm::pdb::InfoStreamHeader::Version
support::ulittle32_t Version
Definition: RawTypes.h:305
llvm::support::detail::packed_endian_specific_integral
Definition: Endian.h:206
llvm::pdb::DbiFlags::FlagIncrementalMask
static const uint16_t FlagIncrementalMask
uint16_t IncrementalLinking : 1; // True if linked incrementally uint16_t IsStripped : 1; // True if ...
Definition: RawTypes.h:100
llvm::pdb::ModInfoFlags::TypeServerIndexMask
static const uint16_t TypeServerIndexMask
Definition: RawTypes.h:206
llvm::pdb::MaxTpiHashBuckets
const uint32_t MaxTpiHashBuckets
Definition: RawTypes.h:301
llvm::pdb::TpiStreamHeader::EmbeddedBuf::Length
support::ulittle32_t Length
Definition: RawTypes.h:280
llvm::pdb::GSIHashHeader::HrSize
support::ulittle32_t HrSize
Definition: RawTypes.h:35
llvm::pdb::PublicsStreamHeader::ISectThunkTable
support::ulittle16_t ISectThunkTable
Definition: RawTypes.h:269
llvm::pdb::ModuleInfoHeader::ModDiStream
support::ulittle16_t ModDiStream
Stream Number of module debug info.
Definition: RawTypes.h:226
llvm::pdb::TpiStreamHeader::HashStreamIndex
support::ulittle16_t HashStreamIndex
Definition: RawTypes.h:290
llvm::pdb::DbiBuildNo
Definition: RawTypes.h:105
llvm::pdb::SrcHeaderBlockEntry::Compression
uint8_t Compression
Definition: RawTypes.h:339
llvm::codeview::GUID
This represents the 'GUID' type from windows.h.
Definition: GUID.h:21
llvm::pdb::ModuleInfoHeader::C11Bytes
support::ulittle32_t C11Bytes
Size of C11 line number info in above stream.
Definition: RawTypes.h:232
llvm::pdb::ModuleInfoHeader::Padding1
char Padding1[2]
Padding so the next field is 4-byte aligned.
Definition: RawTypes.h:241
llvm::pdb::GSIHashHeader::VerSignature
support::ulittle32_t VerSignature
Definition: RawTypes.h:33
llvm::pdb::ModuleInfoHeader::C13Bytes
support::ulittle32_t C13Bytes
Size of C13 line number info in above stream.
Definition: RawTypes.h:235
llvm::pdb::DbiBuildNo::BuildMinorShift
static const uint16_t BuildMinorShift
Definition: RawTypes.h:110
llvm::pdb::DbiBuildNo::NewVersionFormatMask
static const uint16_t NewVersionFormatMask
Definition: RawTypes.h:115
llvm::pdb::TpiStreamHeader::HashKeySize
support::ulittle32_t HashKeySize
Definition: RawTypes.h:292
llvm::pdb::GSIHashHeader
Header of the hash tables found in the globals and publics sections.
Definition: RawTypes.h:28
llvm::pdb::ModInfoFlags
Definition: RawTypes.h:199
llvm::pdb::PDBStringTableSignature
const uint32_t PDBStringTableSignature
Definition: RawTypes.h:318
llvm::pdb::SectionContrib::Characteristics
support::ulittle32_t Characteristics
Definition: RawTypes.h:51
llvm::pdb::DbiStreamHeader
The fixed size header that appears at the beginning of the DBI Stream.
Definition: RawTypes.h:119
llvm::pdb::SecMapEntry
Definition: RawTypes.h:74
llvm::pdb::ModuleInfoHeader::SymBytes
support::ulittle32_t SymBytes
Size of local symbol debug info in above stream.
Definition: RawTypes.h:229
llvm::pdb::ModInfoFlags::HasECFlagMask
static const uint16_t HasECFlagMask
uint16_t fWritten : 1; // True if DbiModuleDescriptor is dirty uint16_t fECEnabled : 1; // Is EC symb...
Definition: RawTypes.h:204
llvm::pdb::PDBStringTableHeader::ByteSize
support::ulittle32_t ByteSize
Definition: RawTypes.h:315
llvm::pdb::TpiStreamHeader::HashAuxStreamIndex
support::ulittle16_t HashAuxStreamIndex
Definition: RawTypes.h:291
llvm::pdb::SrcHeaderBlockHeader
The header preceding the /src/headerblock stream.
Definition: RawTypes.h:321
llvm::pdb::ModuleInfoHeader
The header preceding each entry in the Module Info substream of the DBI stream.
Definition: RawTypes.h:212
llvm::pdb::DbiStreamHeader::PublicSymbolStreamIndex
support::ulittle16_t PublicSymbolStreamIndex
Public symbols stream #.
Definition: RawTypes.h:133
llvm::pdb::PDBStringTableHeader::Signature
support::ulittle32_t Signature
Definition: RawTypes.h:313
llvm::pdb::SectionOffset::Padding
char Padding[2]
Definition: RawTypes.h:22
llvm::pdb::InfoStreamHeader
The header preceding the global PDB Stream (Stream 1)
Definition: RawTypes.h:304
llvm::pdb::FileInfoSubstreamHeader::NumModules
support::ulittle16_t NumModules
Total # of modules, should match number of records in the ModuleInfo substream.
Definition: RawTypes.h:183
llvm::pdb::DbiStreamHeader::MFCTypeServerIndex
support::ulittle32_t MFCTypeServerIndex
Index of MFC Type Server.
Definition: RawTypes.h:160
llvm::pdb::SecMapEntry::Frame
support::ulittle16_t Frame
Definition: RawTypes.h:78
llvm::pdb::DbiStreamHeader::ECSubstreamSize
support::little32_t ECSubstreamSize
Size of EC stream (what is EC?)
Definition: RawTypes.h:166
llvm::pdb::DbiStreamHeader::PdbDllRbld
support::ulittle16_t PdbDllRbld
rbld number of mspdbNNN.dll
Definition: RawTypes.h:142
llvm::pdb::SectionOffset::Off
support::ulittle32_t Off
Definition: RawTypes.h:20
llvm::pdb::SecMapHeader
Definition: RawTypes.h:66
llvm::pdb::SrcHeaderBlockEntry::Reserved
char Reserved[8]
Definition: RawTypes.h:342
llvm::pdb::DbiStreamHeader::VersionHeader
support::ulittle32_t VersionHeader
Definition: RawTypes.h:121
llvm::pdb::InfoStreamHeader::Age
support::ulittle32_t Age
Definition: RawTypes.h:307
llvm::pdb::GSIHashHeader::NumBuckets
support::ulittle32_t NumBuckets
Definition: RawTypes.h:36
llvm::pdb::GSIHashHeader::VerHdr
support::ulittle32_t VerHdr
Definition: RawTypes.h:34
llvm::pdb::PSHashRecord
Definition: RawTypes.h:40
llvm::pdb::SrcHeaderBlockEntry::CRC
support::ulittle32_t CRC
Definition: RawTypes.h:334
llvm::pdb::SectionContrib2
Definition: RawTypes.h:59
llvm::pdb::GSIHashHeader::HdrSignature
@ HdrSignature
Definition: RawTypes.h:30
llvm::pdb::ModuleInfoHeader::NumFiles
support::ulittle16_t NumFiles
Number of files contributing to this module.
Definition: RawTypes.h:238
llvm::pdb::DbiStreamHeader::ModiSubstreamSize
support::little32_t ModiSubstreamSize
Size of module info stream.
Definition: RawTypes.h:145
llvm::pdb::ModuleInfoHeader::SC
SectionContrib SC
First section contribution of this module.
Definition: RawTypes.h:220
llvm::pdb::SectionOffset::Isect
support::ulittle16_t Isect
Definition: RawTypes.h:21
llvm::pdb::DbiStreamHeader::VersionSignature
support::little32_t VersionSignature
Definition: RawTypes.h:120
llvm::pdb::PDBStringTableHeader::HashVersion
support::ulittle32_t HashVersion
Definition: RawTypes.h:314
llvm::pdb::PublicsStreamHeader::OffThunkTable
support::ulittle32_t OffThunkTable
Definition: RawTypes.h:271
llvm::pdb::SecMapEntry::Ovl
support::ulittle16_t Ovl
Definition: RawTypes.h:76
llvm::pdb::DbiFlags::FlagStrippedMask
static const uint16_t FlagStrippedMask
Definition: RawTypes.h:101
llvm::pdb::SectionContrib::ISect
support::ulittle16_t ISect
Definition: RawTypes.h:47
llvm::pdb::SrcHeaderBlockHeader::Size
support::ulittle32_t Size
Definition: RawTypes.h:323
llvm::pdb::TpiStreamHeader::NumHashBuckets
support::ulittle32_t NumHashBuckets
Definition: RawTypes.h:293
llvm::pdb::ModInfoFlags::TypeServerIndexShift
static const uint16_t TypeServerIndexShift
Definition: RawTypes.h:207
llvm::pdb::DbiStreamHeader::SectionMapSize
support::little32_t SectionMapSize
Size of sec. map substream.
Definition: RawTypes.h:151
uint64_t
TypeRecord.h
llvm::pdb::DbiStreamHeader::MachineType
support::ulittle16_t MachineType
See PDB_MachineType enum.
Definition: RawTypes.h:172
llvm::pdb::PublicsStreamHeader::SymHash
support::ulittle32_t SymHash
Definition: RawTypes.h:265
llvm::pdb::FileInfoSubstreamHeader
The header preceding the File Info Substream of the DBI stream.
Definition: RawTypes.h:180
llvm::pdb::TpiStreamHeader::HashAdjBuffer
EmbeddedBuf HashAdjBuffer
Definition: RawTypes.h:297
llvm::pdb::InfoStreamHeader::Guid
codeview::GUID Guid
Definition: RawTypes.h:308
llvm::pdb::SrcHeaderBlockHeader::Age
support::ulittle32_t Age
Definition: RawTypes.h:325
llvm::pdb::PDBStringTableHeader
The header preceding the /names stream.
Definition: RawTypes.h:312
llvm::pdb::DbiStreamHeader::SecContrSubstreamSize
support::little32_t SecContrSubstreamSize
Size of sec. contrib stream.
Definition: RawTypes.h:148
llvm::pdb::TpiStreamHeader::TypeIndexBegin
support::ulittle32_t TypeIndexBegin
Definition: RawTypes.h:285
llvm::pdb::SectionContrib2::Base
SectionContrib Base
Definition: RawTypes.h:61
llvm::pdb::SrcHeaderBlockEntry::ObjNI
support::ulittle32_t ObjNI
Definition: RawTypes.h:337
llvm::pdb::DbiFlags
Some of the values are stored in bitfields.
Definition: RawTypes.h:94
llvm::pdb::SecMapEntry::SecByteLength
support::ulittle32_t SecByteLength
Definition: RawTypes.h:87
llvm::pdb::SecMapHeader::SecCount
support::ulittle16_t SecCount
Definition: RawTypes.h:67
llvm::pdb::SrcHeaderBlockEntry::FileSize
support::ulittle32_t FileSize
Definition: RawTypes.h:335
llvm::pdb::DbiStreamHeader::PdbDllVersion
support::ulittle16_t PdbDllVersion
version of mspdbNNN.dll
Definition: RawTypes.h:136
llvm::pdb::PSHashRecord::Off
support::ulittle32_t Off
Definition: RawTypes.h:41
llvm::pdb::SectionContrib::Imod
support::ulittle16_t Imod
Definition: RawTypes.h:52
llvm::pdb::DbiStreamHeader::OptionalDbgHdrSize
support::little32_t OptionalDbgHdrSize
Size of DbgHeader info.
Definition: RawTypes.h:163
llvm::pdb::TpiStreamHeader::HashValueBuffer
EmbeddedBuf HashValueBuffer
Definition: RawTypes.h:295
llvm::pdb::SrcHeaderBlockEntry::Padding
short Padding
Definition: RawTypes.h:341
llvm::pdb::DbiBuildNo::BuildMajorShift
static const uint16_t BuildMajorShift
Definition: RawTypes.h:113
llvm::pdb::SectionContrib::Off
support::little32_t Off
Definition: RawTypes.h:49
llvm::pdb::GSIHashHeader::HdrVersion
@ HdrVersion
Definition: RawTypes.h:31
uint32_t
llvm::pdb::SecMapEntry::Group
support::ulittle16_t Group
Definition: RawTypes.h:77
llvm::pdb::SecMapEntry::SecName
support::ulittle16_t SecName
Definition: RawTypes.h:79
llvm::pdb::SecMapEntry::ClassName
support::ulittle16_t ClassName
Definition: RawTypes.h:81
llvm::pdb::PublicsStreamHeader::Padding
char Padding[2]
Definition: RawTypes.h:270
uint16_t
llvm::pdb::PSHashRecord::CRef
support::ulittle32_t CRef
Definition: RawTypes.h:42
llvm::pdb::DbiStreamHeader::FileInfoSize
support::little32_t FileInfoSize
Size of file info substream.
Definition: RawTypes.h:154
llvm::pdb::SectionContrib::RelocCrc
support::ulittle32_t RelocCrc
Definition: RawTypes.h:55
llvm::pdb::SrcHeaderBlockEntry
A single file record entry within the /src/headerblock stream.
Definition: RawTypes.h:331
llvm::pdb::FileInfoSubstreamHeader::NumSourceFiles
support::ulittle16_t NumSourceFiles
Total # of source files.
Definition: RawTypes.h:188
llvm::pdb::DbiFlags::FlagHasCTypesMask
static const uint16_t FlagHasCTypesMask
Definition: RawTypes.h:102
llvm::pdb::SrcHeaderBlockEntry::IsVirtual
uint8_t IsVirtual
Definition: RawTypes.h:340
llvm::pdb::SecMapEntry::Offset
support::ulittle32_t Offset
Definition: RawTypes.h:83
llvm::pdb::InfoStreamHeader::Signature
support::ulittle32_t Signature
Definition: RawTypes.h:306
llvm::pdb::TpiStreamHeader::HeaderSize
support::ulittle32_t HeaderSize
Definition: RawTypes.h:284
llvm::pdb::SectionContrib::DataCrc
support::ulittle32_t DataCrc
Definition: RawTypes.h:54
llvm::pdb::DbiStreamHeader::Reserved
support::ulittle32_t Reserved
Pad to 64 bytes.
Definition: RawTypes.h:175
llvm::pdb::DbiStreamHeader::Flags
support::ulittle16_t Flags
See DbiFlags enum.
Definition: RawTypes.h:169
llvm::pdb::ModuleInfoHeader::SrcFileNameNI
support::ulittle32_t SrcFileNameNI
Name Index for src file name.
Definition: RawTypes.h:252
llvm::pdb::DbiStreamHeader::Age
support::ulittle32_t Age
How "old" is this DBI Stream. Should match the age of the PDB InfoStream.
Definition: RawTypes.h:124
llvm::pdb::SrcHeaderBlockHeader::Version
support::ulittle32_t Version
Definition: RawTypes.h:322
llvm::pdb::DbiStreamHeader::SymRecordStreamIndex
support::ulittle16_t SymRecordStreamIndex
Symbol records stream #.
Definition: RawTypes.h:139
llvm::pdb::TpiStreamHeader
Definition: RawTypes.h:277
llvm::pdb::PublicsStreamHeader::NumSections
support::ulittle32_t NumSections
Definition: RawTypes.h:272
llvm::pdb::TpiStreamHeader::TypeIndexEnd
support::ulittle32_t TypeIndexEnd
Definition: RawTypes.h:286
llvm::pdb::ModuleInfoHeader::Flags
support::ulittle16_t Flags
See ModInfoFlags definition.
Definition: RawTypes.h:223
llvm::pdb::ModuleInfoHeader::FileNameOffs
support::ulittle32_t FileNameOffs
Array of [0..NumFiles) DBI name buffer offsets.
Definition: RawTypes.h:249
llvm::pdb::MinTpiHashBuckets
const uint32_t MinTpiHashBuckets
Definition: RawTypes.h:300
llvm::pdb::SectionContrib::Padding
char Padding[2]
Definition: RawTypes.h:48
llvm::pdb::SrcHeaderBlockEntry::FileNI
support::ulittle32_t FileNI
Definition: RawTypes.h:336
llvm::pdb::DbiStreamHeader::GlobalSymbolStreamIndex
support::ulittle16_t GlobalSymbolStreamIndex
Global symbol stream #.
Definition: RawTypes.h:127
llvm::pdb::SecMapHeader::SecCountLog
support::ulittle16_t SecCountLog
Definition: RawTypes.h:68
llvm::pdb::PublicsStreamHeader::NumThunks
support::ulittle32_t NumThunks
Definition: RawTypes.h:267
llvm::pdb::SectionContrib2::ISectCoff
support::ulittle32_t ISectCoff
Definition: RawTypes.h:62
llvm::pdb::TpiStreamHeader::Version
support::ulittle32_t Version
Definition: RawTypes.h:283
llvm::pdb::SectionContrib::Padding2
char Padding2[2]
Definition: RawTypes.h:53
llvm::pdb::PublicsStreamHeader
Definition: RawTypes.h:264
Endian.h
llvm::pdb::SrcHeaderBlockEntry::Size
support::ulittle32_t Size
Definition: RawTypes.h:332
llvm::pdb::SectionContrib::Size
support::little32_t Size
Definition: RawTypes.h:50
llvm::pdb::TpiStreamHeader::EmbeddedBuf::Off
support::little32_t Off
Definition: RawTypes.h:279
llvm::pdb::SrcHeaderBlockEntry::Version
support::ulittle32_t Version
Definition: RawTypes.h:333
llvm::pdb::TpiStreamHeader::TypeRecordBytes
support::ulittle32_t TypeRecordBytes
Definition: RawTypes.h:287
llvm::pdb::DbiStreamHeader::BuildNumber
support::ulittle16_t BuildNumber
See DbiBuildNo structure.
Definition: RawTypes.h:130
llvm::pdb::TpiStreamHeader::EmbeddedBuf
Definition: RawTypes.h:278
llvm::pdb::ModuleInfoHeader::Mod
support::ulittle32_t Mod
Currently opened module.
Definition: RawTypes.h:217