Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===-- CodeViewSymbols.def - All CodeView leaf types -----------*- 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
// See LEAF_ENUM_e in cvinfo.h. This should match the constants there.
10
//
11
//===----------------------------------------------------------------------===//
12
 
13
#ifndef CV_SYMBOL
14
#define CV_SYMBOL(ename, value)
15
#endif
16
 
17
#ifndef SYMBOL_RECORD
18
#define SYMBOL_RECORD(lf_ename, value, name) CV_SYMBOL(lf_ename, value)
19
#endif
20
 
21
#ifndef SYMBOL_RECORD_ALIAS
22
#define SYMBOL_RECORD_ALIAS(lf_ename, value, name, alias_name)                   \
23
  SYMBOL_RECORD(lf_ename, value, name)
24
#endif
25
 
26
// 16 bit symbol types. Not very useful, provided only for reference.
27
CV_SYMBOL(S_COMPILE       , 0x0001)
28
CV_SYMBOL(S_REGISTER_16t  , 0x0002)
29
CV_SYMBOL(S_CONSTANT_16t  , 0x0003)
30
CV_SYMBOL(S_UDT_16t       , 0x0004)
31
CV_SYMBOL(S_SSEARCH       , 0x0005)
32
CV_SYMBOL(S_SKIP          , 0x0007)
33
CV_SYMBOL(S_CVRESERVE     , 0x0008)
34
CV_SYMBOL(S_OBJNAME_ST    , 0x0009)
35
CV_SYMBOL(S_ENDARG        , 0x000a)
36
CV_SYMBOL(S_COBOLUDT_16t  , 0x000b)
37
CV_SYMBOL(S_MANYREG_16t   , 0x000c)
38
CV_SYMBOL(S_RETURN        , 0x000d)
39
CV_SYMBOL(S_ENTRYTHIS     , 0x000e)
40
CV_SYMBOL(S_BPREL16       , 0x0100)
41
CV_SYMBOL(S_LDATA16       , 0x0101)
42
CV_SYMBOL(S_GDATA16       , 0x0102)
43
CV_SYMBOL(S_PUB16         , 0x0103)
44
CV_SYMBOL(S_LPROC16       , 0x0104)
45
CV_SYMBOL(S_GPROC16       , 0x0105)
46
CV_SYMBOL(S_THUNK16       , 0x0106)
47
CV_SYMBOL(S_BLOCK16       , 0x0107)
48
CV_SYMBOL(S_WITH16        , 0x0108)
49
CV_SYMBOL(S_LABEL16       , 0x0109)
50
CV_SYMBOL(S_CEXMODEL16    , 0x010a)
51
CV_SYMBOL(S_VFTABLE16     , 0x010b)
52
CV_SYMBOL(S_REGREL16      , 0x010c)
53
CV_SYMBOL(S_BPREL32_16t   , 0x0200)
54
CV_SYMBOL(S_LDATA32_16t   , 0x0201)
55
CV_SYMBOL(S_GDATA32_16t   , 0x0202)
56
CV_SYMBOL(S_PUB32_16t     , 0x0203)
57
CV_SYMBOL(S_LPROC32_16t   , 0x0204)
58
CV_SYMBOL(S_GPROC32_16t   , 0x0205)
59
CV_SYMBOL(S_THUNK32_ST    , 0x0206)
60
CV_SYMBOL(S_BLOCK32_ST    , 0x0207)
61
CV_SYMBOL(S_WITH32_ST     , 0x0208)
62
CV_SYMBOL(S_LABEL32_ST    , 0x0209)
63
CV_SYMBOL(S_CEXMODEL32    , 0x020a)
64
CV_SYMBOL(S_VFTABLE32_16t , 0x020b)
65
CV_SYMBOL(S_REGREL32_16t  , 0x020c)
66
CV_SYMBOL(S_LTHREAD32_16t , 0x020d)
67
CV_SYMBOL(S_GTHREAD32_16t , 0x020e)
68
CV_SYMBOL(S_SLINK32       , 0x020f)
69
CV_SYMBOL(S_LPROCMIPS_16t , 0x0300)
70
CV_SYMBOL(S_GPROCMIPS_16t , 0x0301)
71
CV_SYMBOL(S_PROCREF_ST    , 0x0400)
72
CV_SYMBOL(S_DATAREF_ST    , 0x0401)
73
CV_SYMBOL(S_ALIGN         , 0x0402)
74
CV_SYMBOL(S_LPROCREF_ST   , 0x0403)
75
CV_SYMBOL(S_OEM           , 0x0404)
76
 
77
// All post 16 bit symbol types have the 0x1000 bit set.
78
CV_SYMBOL(S_TI16_MAX      , 0x1000)
79
 
80
// Mostly unused "start" symbol types.
81
CV_SYMBOL(S_REGISTER_ST   , 0x1001)
82
CV_SYMBOL(S_CONSTANT_ST   , 0x1002)
83
CV_SYMBOL(S_UDT_ST        , 0x1003)
84
CV_SYMBOL(S_COBOLUDT_ST   , 0x1004)
85
CV_SYMBOL(S_MANYREG_ST    , 0x1005)
86
CV_SYMBOL(S_BPREL32_ST    , 0x1006)
87
CV_SYMBOL(S_LDATA32_ST    , 0x1007)
88
CV_SYMBOL(S_GDATA32_ST    , 0x1008)
89
CV_SYMBOL(S_PUB32_ST      , 0x1009)
90
CV_SYMBOL(S_LPROC32_ST    , 0x100a)
91
CV_SYMBOL(S_GPROC32_ST    , 0x100b)
92
CV_SYMBOL(S_VFTABLE32     , 0x100c)
93
CV_SYMBOL(S_REGREL32_ST   , 0x100d)
94
CV_SYMBOL(S_LTHREAD32_ST  , 0x100e)
95
CV_SYMBOL(S_GTHREAD32_ST  , 0x100f)
96
CV_SYMBOL(S_LPROCMIPS_ST  , 0x1010)
97
CV_SYMBOL(S_GPROCMIPS_ST  , 0x1011)
98
 
99
CV_SYMBOL(S_COMPILE2_ST   , 0x1013)
100
CV_SYMBOL(S_MANYREG2_ST   , 0x1014)
101
CV_SYMBOL(S_LPROCIA64_ST  , 0x1015)
102
CV_SYMBOL(S_GPROCIA64_ST  , 0x1016)
103
CV_SYMBOL(S_LOCALSLOT_ST  , 0x1017)
104
CV_SYMBOL(S_PARAMSLOT_ST  , 0x1018)
105
CV_SYMBOL(S_GMANPROC_ST   , 0x101a)
106
CV_SYMBOL(S_LMANPROC_ST   , 0x101b)
107
CV_SYMBOL(S_RESERVED1     , 0x101c)
108
CV_SYMBOL(S_RESERVED2     , 0x101d)
109
CV_SYMBOL(S_RESERVED3     , 0x101e)
110
CV_SYMBOL(S_RESERVED4     , 0x101f)
111
CV_SYMBOL(S_LMANDATA_ST   , 0x1020)
112
CV_SYMBOL(S_GMANDATA_ST   , 0x1021)
113
CV_SYMBOL(S_MANFRAMEREL_ST, 0x1022)
114
CV_SYMBOL(S_MANREGISTER_ST, 0x1023)
115
CV_SYMBOL(S_MANSLOT_ST    , 0x1024)
116
CV_SYMBOL(S_MANMANYREG_ST , 0x1025)
117
CV_SYMBOL(S_MANREGREL_ST  , 0x1026)
118
CV_SYMBOL(S_MANMANYREG2_ST, 0x1027)
119
CV_SYMBOL(S_MANTYPREF     , 0x1028)
120
CV_SYMBOL(S_UNAMESPACE_ST , 0x1029)
121
 
122
// End of S_*_ST symbols, which do not appear to be generated by modern
123
// compilers.
124
CV_SYMBOL(S_ST_MAX        , 0x1100)
125
 
126
 
127
CV_SYMBOL(S_WITH32        , 0x1104)
128
CV_SYMBOL(S_MANYREG       , 0x110a)
129
CV_SYMBOL(S_LPROCMIPS     , 0x1114)
130
CV_SYMBOL(S_GPROCMIPS     , 0x1115)
131
CV_SYMBOL(S_MANYREG2      , 0x1117)
132
CV_SYMBOL(S_LPROCIA64     , 0x1118)
133
CV_SYMBOL(S_GPROCIA64     , 0x1119)
134
CV_SYMBOL(S_LOCALSLOT     , 0x111a)
135
CV_SYMBOL(S_PARAMSLOT     , 0x111b)
136
 
137
// Managed code symbols.
138
CV_SYMBOL(S_MANFRAMEREL   , 0x111e)
139
CV_SYMBOL(S_MANREGISTER   , 0x111f)
140
CV_SYMBOL(S_MANSLOT       , 0x1120)
141
CV_SYMBOL(S_MANMANYREG    , 0x1121)
142
CV_SYMBOL(S_MANREGREL     , 0x1122)
143
CV_SYMBOL(S_MANMANYREG2   , 0x1123)
144
CV_SYMBOL(S_DATAREF       , 0x1126)
145
CV_SYMBOL(S_ANNOTATIONREF , 0x1128)
146
CV_SYMBOL(S_TOKENREF      , 0x1129)
147
CV_SYMBOL(S_GMANPROC      , 0x112a)
148
CV_SYMBOL(S_LMANPROC      , 0x112b)
149
CV_SYMBOL(S_ATTR_FRAMEREL , 0x112e)
150
CV_SYMBOL(S_ATTR_REGISTER , 0x112f)
151
CV_SYMBOL(S_ATTR_REGREL   , 0x1130)
152
CV_SYMBOL(S_ATTR_MANYREG  , 0x1131)
153
 
154
 
155
CV_SYMBOL(S_SEPCODE       , 0x1132)
156
CV_SYMBOL(S_LOCAL_2005    , 0x1133)
157
CV_SYMBOL(S_DEFRANGE_2005 , 0x1134)
158
CV_SYMBOL(S_DEFRANGE2_2005, 0x1135)
159
CV_SYMBOL(S_DISCARDED     , 0x113b)
160
 
161
// Current symbol types for most procedures as of this writing.
162
CV_SYMBOL(S_LPROCMIPS_ID   , 0x1148)
163
CV_SYMBOL(S_GPROCMIPS_ID   , 0x1149)
164
CV_SYMBOL(S_LPROCIA64_ID   , 0x114a)
165
CV_SYMBOL(S_GPROCIA64_ID   , 0x114b)
166
 
167
CV_SYMBOL(S_DEFRANGE_HLSL  , 0x1150)
168
CV_SYMBOL(S_GDATA_HLSL     , 0x1151)
169
CV_SYMBOL(S_LDATA_HLSL     , 0x1152)
170
CV_SYMBOL(S_LOCAL_DPC_GROUPSHARED, 0x1154)
171
CV_SYMBOL(S_DEFRANGE_DPC_PTR_TAG, 0x1157)
172
CV_SYMBOL(S_DPC_SYM_TAG_MAP, 0x1158)
173
CV_SYMBOL(S_ARMSWITCHTABLE , 0x1159)
174
CV_SYMBOL(S_POGODATA       , 0x115c)
175
CV_SYMBOL(S_INLINESITE2    , 0x115d)
176
CV_SYMBOL(S_MOD_TYPEREF    , 0x115f)
177
CV_SYMBOL(S_REF_MINIPDB    , 0x1160)
178
CV_SYMBOL(S_PDBMAP         , 0x1161)
179
CV_SYMBOL(S_GDATA_HLSL32   , 0x1162)
180
CV_SYMBOL(S_LDATA_HLSL32   , 0x1163)
181
CV_SYMBOL(S_GDATA_HLSL32_EX, 0x1164)
182
CV_SYMBOL(S_LDATA_HLSL32_EX, 0x1165)
183
 
184
CV_SYMBOL(S_FASTLINK, 0x1167) // Undocumented
185
SYMBOL_RECORD_ALIAS(S_INLINEES, 0x1168, InlineesSym, CallerSym) // Undocumented
186
 
187
// Known symbol types
188
SYMBOL_RECORD(S_END                  , 0x0006, ScopeEndSym)
189
SYMBOL_RECORD_ALIAS(S_INLINESITE_END , 0x114e, InlineSiteEnd, ScopeEndSym)
190
SYMBOL_RECORD_ALIAS(S_PROC_ID_END    , 0x114f, ProcEnd, ScopeEndSym)
191
 
192
SYMBOL_RECORD(S_THUNK32       , 0x1102, Thunk32Sym)
193
SYMBOL_RECORD(S_TRAMPOLINE    , 0x112c, TrampolineSym)
194
SYMBOL_RECORD(S_SECTION       , 0x1136, SectionSym)
195
SYMBOL_RECORD(S_COFFGROUP     , 0x1137, CoffGroupSym)
196
SYMBOL_RECORD(S_EXPORT        , 0x1138, ExportSym)
197
 
198
SYMBOL_RECORD(S_LPROC32       , 0x110f, ProcSym)
199
SYMBOL_RECORD_ALIAS(S_GPROC32       , 0x1110, GlobalProcSym, ProcSym)
200
SYMBOL_RECORD_ALIAS(S_LPROC32_ID     , 0x1146, ProcIdSym, ProcSym)
201
SYMBOL_RECORD_ALIAS(S_GPROC32_ID     , 0x1147, GlobalProcIdSym, ProcSym)
202
SYMBOL_RECORD_ALIAS(S_LPROC32_DPC    , 0x1155, DPCProcSym, ProcSym)
203
SYMBOL_RECORD_ALIAS(S_LPROC32_DPC_ID , 0x1156, DPCProcIdSym, ProcSym)
204
 
205
SYMBOL_RECORD(S_REGISTER      , 0x1106, RegisterSym)
206
SYMBOL_RECORD(S_PUB32         , 0x110e, PublicSym32)
207
 
208
SYMBOL_RECORD(S_PROCREF       , 0x1125, ProcRefSym)
209
SYMBOL_RECORD_ALIAS(S_LPROCREF, 0x1127, LocalProcRef, ProcRefSym)
210
 
211
 
212
SYMBOL_RECORD(S_ENVBLOCK      , 0x113d, EnvBlockSym)
213
 
214
SYMBOL_RECORD(S_INLINESITE     , 0x114d, InlineSiteSym)
215
SYMBOL_RECORD(S_LOCAL         , 0x113e, LocalSym)
216
SYMBOL_RECORD(S_DEFRANGE      , 0x113f, DefRangeSym)
217
SYMBOL_RECORD(S_DEFRANGE_SUBFIELD, 0x1140, DefRangeSubfieldSym)
218
SYMBOL_RECORD(S_DEFRANGE_REGISTER, 0x1141, DefRangeRegisterSym)
219
SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL, 0x1142, DefRangeFramePointerRelSym)
220
SYMBOL_RECORD(S_DEFRANGE_SUBFIELD_REGISTER, 0x1143, DefRangeSubfieldRegisterSym)
221
SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE, 0x1144, DefRangeFramePointerRelFullScopeSym)
222
SYMBOL_RECORD(S_DEFRANGE_REGISTER_REL, 0x1145, DefRangeRegisterRelSym)
223
SYMBOL_RECORD(S_BLOCK32       , 0x1103, BlockSym)
224
SYMBOL_RECORD(S_LABEL32       , 0x1105, LabelSym)
225
SYMBOL_RECORD(S_OBJNAME       , 0x1101, ObjNameSym)
226
SYMBOL_RECORD(S_COMPILE2      , 0x1116, Compile2Sym)
227
SYMBOL_RECORD(S_COMPILE3      , 0x113c, Compile3Sym)
228
SYMBOL_RECORD(S_FRAMEPROC     , 0x1012, FrameProcSym)
229
SYMBOL_RECORD(S_CALLSITEINFO  , 0x1139, CallSiteInfoSym)
230
SYMBOL_RECORD(S_FILESTATIC     , 0x1153, FileStaticSym)
231
SYMBOL_RECORD(S_HEAPALLOCSITE  , 0x115e, HeapAllocationSiteSym)
232
SYMBOL_RECORD(S_FRAMECOOKIE   , 0x113a, FrameCookieSym)
233
 
234
SYMBOL_RECORD(S_CALLEES        , 0x115a, CallerSym)
235
SYMBOL_RECORD_ALIAS(S_CALLERS, 0x115b, CalleeSym, CallerSym)
236
 
237
SYMBOL_RECORD(S_UDT           , 0x1108, UDTSym)
238
SYMBOL_RECORD_ALIAS(S_COBOLUDT      , 0x1109, CobolUDT, UDTSym)
239
 
240
SYMBOL_RECORD(S_BUILDINFO      , 0x114c, BuildInfoSym)
241
SYMBOL_RECORD(S_BPREL32       , 0x110b, BPRelativeSym)
242
SYMBOL_RECORD(S_REGREL32      , 0x1111, RegRelativeSym)
243
 
244
SYMBOL_RECORD(S_CONSTANT      , 0x1107, ConstantSym)
245
SYMBOL_RECORD_ALIAS(S_MANCONSTANT   , 0x112d, ManagedConstant, ConstantSym)
246
 
247
SYMBOL_RECORD(S_LDATA32       , 0x110c, DataSym)
248
SYMBOL_RECORD_ALIAS(S_GDATA32       , 0x110d, GlobalData, DataSym)
249
SYMBOL_RECORD_ALIAS(S_LMANDATA      , 0x111c, ManagedLocalData, DataSym)
250
SYMBOL_RECORD_ALIAS(S_GMANDATA      , 0x111d, ManagedGlobalData, DataSym)
251
 
252
SYMBOL_RECORD(S_LTHREAD32     , 0x1112, ThreadLocalDataSym)
253
SYMBOL_RECORD_ALIAS(S_GTHREAD32     , 0x1113, GlobalTLS, ThreadLocalDataSym)
254
 
255
SYMBOL_RECORD(S_UNAMESPACE    , 0x1124, UsingNamespaceSym)
256
SYMBOL_RECORD(S_ANNOTATION    , 0x1019, AnnotationSym)
257
 
258
#undef CV_SYMBOL
259
#undef SYMBOL_RECORD
260
#undef SYMBOL_RECORD_ALIAS