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