LLVM  4.0.0
RawConstants.h
Go to the documentation of this file.
1 //===- RawConstants.h -------------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PDBRAWCONSTANTS_H
11 #define LLVM_DEBUGINFO_PDB_RAW_PDBRAWCONSTANTS_H
12 
14 
15 #include <cstdint>
16 
17 namespace llvm {
18 namespace pdb {
19 
20 const uint16_t kInvalidStreamIndex = 0xFFFF;
21 
23  PdbImplVC2 = 19941610,
24  PdbImplVC4 = 19950623,
25  PdbImplVC41 = 19950814,
26  PdbImplVC50 = 19960307,
27  PdbImplVC98 = 19970604,
28  PdbImplVC70Dep = 19990604, // deprecated
29  PdbImplVC70 = 20000404,
30  PdbImplVC80 = 20030901,
31  PdbImplVC110 = 20091201,
32  PdbImplVC140 = 20140508,
33 };
34 
36  PdbDbiVC41 = 930803,
37  PdbDbiV50 = 19960307,
38  PdbDbiV60 = 19970606,
39  PdbDbiV70 = 19990903,
40  PdbDbiV110 = 20091201
41 };
42 
44  PdbTpiV40 = 19950410,
45  PdbTpiV41 = 19951122,
46  PdbTpiV50 = 19961031,
47  PdbTpiV70 = 19990903,
48  PdbTpiV80 = 20040203,
49 };
50 
52  DbiSecContribVer60 = 0xeffe0000 + 19970605,
53  DbiSecContribV2 = 0xeffe0000 + 20140516
54 };
55 
57  // Stream 0 contains the copy of previous version of the MSF directory.
58  // We are not currently using it, but technically if we find the main
59  // MSF is corrupted, we could fallback to it.
61 
62  StreamPDB = 1,
63  StreamTPI = 2,
64  StreamDBI = 3,
65  StreamIPI = 4,
66 
68 };
69 
70 enum class DbgHeaderType : uint16_t {
71  FPO,
72  Exception,
73  Fixup,
74  OmapToSrc,
76  SectionHdr,
78  Xdata,
79  Pdata,
80  NewFPO,
82  Max
83 };
84 
85 enum class OMFSegDescFlags : uint16_t {
86  Read = 1 << 0, // Segment is readable.
87  Write = 1 << 1, // Segment is writable.
88  Execute = 1 << 2, // Segment is executable.
89  AddressIs32Bit = 1 << 3, // Descriptor describes a 32-bit linear address.
90  IsSelector = 1 << 8, // Frame represents a selector.
91  IsAbsoluteAddress = 1 << 9, // Frame represents an absolute address.
92  IsGroup = 1 << 10 // If set, descriptor represents a group.
93 };
94 
95 } // end namespace pdb
96 } // end namespace llvm
97 
98 #endif // LLVM_DEBUGINFO_PDB_RAW_PDBRAWCONSTANTS_H
const uint16_t kInvalidStreamIndex
Definition: RawConstants.h:20
PdbRaw_DbiSecContribVer
Definition: RawConstants.h:51