Warning, /include/llvm/DebugInfo/CodeView/CodeViewSymbols.def is written in an unsupported language. File is not indexed.
0001 //===-- CodeViewSymbols.def - All CodeView leaf types -----------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // See LEAF_ENUM_e in cvinfo.h. This should match the constants there.
0010 //
0011 //===----------------------------------------------------------------------===//
0012
0013 #ifndef CV_SYMBOL
0014 #define CV_SYMBOL(ename, value)
0015 #endif
0016
0017 #ifndef SYMBOL_RECORD
0018 #define SYMBOL_RECORD(lf_ename, value, name) CV_SYMBOL(lf_ename, value)
0019 #endif
0020
0021 #ifndef SYMBOL_RECORD_ALIAS
0022 #define SYMBOL_RECORD_ALIAS(lf_ename, value, name, alias_name) \
0023 SYMBOL_RECORD(lf_ename, value, name)
0024 #endif
0025
0026 // 16 bit symbol types. Not very useful, provided only for reference.
0027 CV_SYMBOL(S_COMPILE , 0x0001)
0028 CV_SYMBOL(S_REGISTER_16t , 0x0002)
0029 CV_SYMBOL(S_CONSTANT_16t , 0x0003)
0030 CV_SYMBOL(S_UDT_16t , 0x0004)
0031 CV_SYMBOL(S_SSEARCH , 0x0005)
0032 CV_SYMBOL(S_SKIP , 0x0007)
0033 CV_SYMBOL(S_CVRESERVE , 0x0008)
0034 CV_SYMBOL(S_OBJNAME_ST , 0x0009)
0035 CV_SYMBOL(S_ENDARG , 0x000a)
0036 CV_SYMBOL(S_COBOLUDT_16t , 0x000b)
0037 CV_SYMBOL(S_MANYREG_16t , 0x000c)
0038 CV_SYMBOL(S_RETURN , 0x000d)
0039 CV_SYMBOL(S_ENTRYTHIS , 0x000e)
0040 CV_SYMBOL(S_BPREL16 , 0x0100)
0041 CV_SYMBOL(S_LDATA16 , 0x0101)
0042 CV_SYMBOL(S_GDATA16 , 0x0102)
0043 CV_SYMBOL(S_PUB16 , 0x0103)
0044 CV_SYMBOL(S_LPROC16 , 0x0104)
0045 CV_SYMBOL(S_GPROC16 , 0x0105)
0046 CV_SYMBOL(S_THUNK16 , 0x0106)
0047 CV_SYMBOL(S_BLOCK16 , 0x0107)
0048 CV_SYMBOL(S_WITH16 , 0x0108)
0049 CV_SYMBOL(S_LABEL16 , 0x0109)
0050 CV_SYMBOL(S_CEXMODEL16 , 0x010a)
0051 CV_SYMBOL(S_VFTABLE16 , 0x010b)
0052 CV_SYMBOL(S_REGREL16 , 0x010c)
0053 CV_SYMBOL(S_BPREL32_16t , 0x0200)
0054 CV_SYMBOL(S_LDATA32_16t , 0x0201)
0055 CV_SYMBOL(S_GDATA32_16t , 0x0202)
0056 CV_SYMBOL(S_PUB32_16t , 0x0203)
0057 CV_SYMBOL(S_LPROC32_16t , 0x0204)
0058 CV_SYMBOL(S_GPROC32_16t , 0x0205)
0059 CV_SYMBOL(S_THUNK32_ST , 0x0206)
0060 CV_SYMBOL(S_BLOCK32_ST , 0x0207)
0061 CV_SYMBOL(S_WITH32_ST , 0x0208)
0062 CV_SYMBOL(S_LABEL32_ST , 0x0209)
0063 CV_SYMBOL(S_CEXMODEL32 , 0x020a)
0064 CV_SYMBOL(S_VFTABLE32_16t , 0x020b)
0065 CV_SYMBOL(S_REGREL32_16t , 0x020c)
0066 CV_SYMBOL(S_LTHREAD32_16t , 0x020d)
0067 CV_SYMBOL(S_GTHREAD32_16t , 0x020e)
0068 CV_SYMBOL(S_SLINK32 , 0x020f)
0069 CV_SYMBOL(S_LPROCMIPS_16t , 0x0300)
0070 CV_SYMBOL(S_GPROCMIPS_16t , 0x0301)
0071 CV_SYMBOL(S_PROCREF_ST , 0x0400)
0072 CV_SYMBOL(S_DATAREF_ST , 0x0401)
0073 CV_SYMBOL(S_ALIGN , 0x0402)
0074 CV_SYMBOL(S_LPROCREF_ST , 0x0403)
0075 CV_SYMBOL(S_OEM , 0x0404)
0076
0077 // All post 16 bit symbol types have the 0x1000 bit set.
0078 CV_SYMBOL(S_TI16_MAX , 0x1000)
0079
0080 // Mostly unused "start" symbol types.
0081 CV_SYMBOL(S_REGISTER_ST , 0x1001)
0082 CV_SYMBOL(S_CONSTANT_ST , 0x1002)
0083 CV_SYMBOL(S_UDT_ST , 0x1003)
0084 CV_SYMBOL(S_COBOLUDT_ST , 0x1004)
0085 CV_SYMBOL(S_MANYREG_ST , 0x1005)
0086 CV_SYMBOL(S_BPREL32_ST , 0x1006)
0087 CV_SYMBOL(S_LDATA32_ST , 0x1007)
0088 CV_SYMBOL(S_GDATA32_ST , 0x1008)
0089 CV_SYMBOL(S_PUB32_ST , 0x1009)
0090 CV_SYMBOL(S_LPROC32_ST , 0x100a)
0091 CV_SYMBOL(S_GPROC32_ST , 0x100b)
0092 CV_SYMBOL(S_VFTABLE32 , 0x100c)
0093 CV_SYMBOL(S_REGREL32_ST , 0x100d)
0094 CV_SYMBOL(S_LTHREAD32_ST , 0x100e)
0095 CV_SYMBOL(S_GTHREAD32_ST , 0x100f)
0096 CV_SYMBOL(S_LPROCMIPS_ST , 0x1010)
0097 CV_SYMBOL(S_GPROCMIPS_ST , 0x1011)
0098
0099 CV_SYMBOL(S_COMPILE2_ST , 0x1013)
0100 CV_SYMBOL(S_MANYREG2_ST , 0x1014)
0101 CV_SYMBOL(S_LPROCIA64_ST , 0x1015)
0102 CV_SYMBOL(S_GPROCIA64_ST , 0x1016)
0103 CV_SYMBOL(S_LOCALSLOT_ST , 0x1017)
0104 CV_SYMBOL(S_PARAMSLOT_ST , 0x1018)
0105 CV_SYMBOL(S_GMANPROC_ST , 0x101a)
0106 CV_SYMBOL(S_LMANPROC_ST , 0x101b)
0107 CV_SYMBOL(S_RESERVED1 , 0x101c)
0108 CV_SYMBOL(S_RESERVED2 , 0x101d)
0109 CV_SYMBOL(S_RESERVED3 , 0x101e)
0110 CV_SYMBOL(S_RESERVED4 , 0x101f)
0111 CV_SYMBOL(S_LMANDATA_ST , 0x1020)
0112 CV_SYMBOL(S_GMANDATA_ST , 0x1021)
0113 CV_SYMBOL(S_MANFRAMEREL_ST, 0x1022)
0114 CV_SYMBOL(S_MANREGISTER_ST, 0x1023)
0115 CV_SYMBOL(S_MANSLOT_ST , 0x1024)
0116 CV_SYMBOL(S_MANMANYREG_ST , 0x1025)
0117 CV_SYMBOL(S_MANREGREL_ST , 0x1026)
0118 CV_SYMBOL(S_MANMANYREG2_ST, 0x1027)
0119 CV_SYMBOL(S_MANTYPREF , 0x1028)
0120 CV_SYMBOL(S_UNAMESPACE_ST , 0x1029)
0121
0122 // End of S_*_ST symbols, which do not appear to be generated by modern
0123 // compilers.
0124 CV_SYMBOL(S_ST_MAX , 0x1100)
0125
0126
0127 CV_SYMBOL(S_WITH32 , 0x1104)
0128 CV_SYMBOL(S_MANYREG , 0x110a)
0129 CV_SYMBOL(S_LPROCMIPS , 0x1114)
0130 CV_SYMBOL(S_GPROCMIPS , 0x1115)
0131 CV_SYMBOL(S_MANYREG2 , 0x1117)
0132 CV_SYMBOL(S_LPROCIA64 , 0x1118)
0133 CV_SYMBOL(S_GPROCIA64 , 0x1119)
0134 CV_SYMBOL(S_LOCALSLOT , 0x111a)
0135 CV_SYMBOL(S_PARAMSLOT , 0x111b)
0136
0137 // Managed code symbols.
0138 CV_SYMBOL(S_MANFRAMEREL , 0x111e)
0139 CV_SYMBOL(S_MANREGISTER , 0x111f)
0140 CV_SYMBOL(S_MANSLOT , 0x1120)
0141 CV_SYMBOL(S_MANMANYREG , 0x1121)
0142 CV_SYMBOL(S_MANREGREL , 0x1122)
0143 CV_SYMBOL(S_MANMANYREG2 , 0x1123)
0144 CV_SYMBOL(S_DATAREF , 0x1126)
0145 CV_SYMBOL(S_ANNOTATIONREF , 0x1128)
0146 CV_SYMBOL(S_TOKENREF , 0x1129)
0147 CV_SYMBOL(S_GMANPROC , 0x112a)
0148 CV_SYMBOL(S_LMANPROC , 0x112b)
0149 CV_SYMBOL(S_ATTR_FRAMEREL , 0x112e)
0150 CV_SYMBOL(S_ATTR_REGISTER , 0x112f)
0151 CV_SYMBOL(S_ATTR_REGREL , 0x1130)
0152 CV_SYMBOL(S_ATTR_MANYREG , 0x1131)
0153
0154
0155 CV_SYMBOL(S_SEPCODE , 0x1132)
0156 CV_SYMBOL(S_LOCAL_2005 , 0x1133)
0157 CV_SYMBOL(S_DEFRANGE_2005 , 0x1134)
0158 CV_SYMBOL(S_DEFRANGE2_2005, 0x1135)
0159 CV_SYMBOL(S_DISCARDED , 0x113b)
0160
0161 // Current symbol types for most procedures as of this writing.
0162 CV_SYMBOL(S_LPROCMIPS_ID , 0x1148)
0163 CV_SYMBOL(S_GPROCMIPS_ID , 0x1149)
0164 CV_SYMBOL(S_LPROCIA64_ID , 0x114a)
0165 CV_SYMBOL(S_GPROCIA64_ID , 0x114b)
0166
0167 CV_SYMBOL(S_DEFRANGE_HLSL , 0x1150)
0168 CV_SYMBOL(S_GDATA_HLSL , 0x1151)
0169 CV_SYMBOL(S_LDATA_HLSL , 0x1152)
0170 CV_SYMBOL(S_LOCAL_DPC_GROUPSHARED, 0x1154)
0171 CV_SYMBOL(S_DEFRANGE_DPC_PTR_TAG, 0x1157)
0172 CV_SYMBOL(S_DPC_SYM_TAG_MAP, 0x1158)
0173 CV_SYMBOL(S_POGODATA , 0x115c)
0174 CV_SYMBOL(S_INLINESITE2 , 0x115d)
0175 CV_SYMBOL(S_MOD_TYPEREF , 0x115f)
0176 CV_SYMBOL(S_REF_MINIPDB , 0x1160)
0177 CV_SYMBOL(S_PDBMAP , 0x1161)
0178 CV_SYMBOL(S_GDATA_HLSL32 , 0x1162)
0179 CV_SYMBOL(S_LDATA_HLSL32 , 0x1163)
0180 CV_SYMBOL(S_GDATA_HLSL32_EX, 0x1164)
0181 CV_SYMBOL(S_LDATA_HLSL32_EX, 0x1165)
0182
0183 CV_SYMBOL(S_FASTLINK, 0x1167) // Undocumented
0184 SYMBOL_RECORD_ALIAS(S_INLINEES, 0x1168, InlineesSym, CallerSym) // Undocumented
0185
0186 // Known symbol types
0187 SYMBOL_RECORD(S_END , 0x0006, ScopeEndSym)
0188 SYMBOL_RECORD_ALIAS(S_INLINESITE_END , 0x114e, InlineSiteEnd, ScopeEndSym)
0189 SYMBOL_RECORD_ALIAS(S_PROC_ID_END , 0x114f, ProcEnd, ScopeEndSym)
0190
0191 SYMBOL_RECORD(S_THUNK32 , 0x1102, Thunk32Sym)
0192 SYMBOL_RECORD(S_TRAMPOLINE , 0x112c, TrampolineSym)
0193 SYMBOL_RECORD(S_SECTION , 0x1136, SectionSym)
0194 SYMBOL_RECORD(S_COFFGROUP , 0x1137, CoffGroupSym)
0195 SYMBOL_RECORD(S_EXPORT , 0x1138, ExportSym)
0196
0197 SYMBOL_RECORD(S_LPROC32 , 0x110f, ProcSym)
0198 SYMBOL_RECORD_ALIAS(S_GPROC32 , 0x1110, GlobalProcSym, ProcSym)
0199 SYMBOL_RECORD_ALIAS(S_LPROC32_ID , 0x1146, ProcIdSym, ProcSym)
0200 SYMBOL_RECORD_ALIAS(S_GPROC32_ID , 0x1147, GlobalProcIdSym, ProcSym)
0201 SYMBOL_RECORD_ALIAS(S_LPROC32_DPC , 0x1155, DPCProcSym, ProcSym)
0202 SYMBOL_RECORD_ALIAS(S_LPROC32_DPC_ID , 0x1156, DPCProcIdSym, ProcSym)
0203
0204 SYMBOL_RECORD(S_REGISTER , 0x1106, RegisterSym)
0205 SYMBOL_RECORD(S_PUB32 , 0x110e, PublicSym32)
0206
0207 SYMBOL_RECORD(S_PROCREF , 0x1125, ProcRefSym)
0208 SYMBOL_RECORD_ALIAS(S_LPROCREF, 0x1127, LocalProcRef, ProcRefSym)
0209
0210
0211 SYMBOL_RECORD(S_ENVBLOCK , 0x113d, EnvBlockSym)
0212
0213 SYMBOL_RECORD(S_INLINESITE , 0x114d, InlineSiteSym)
0214 SYMBOL_RECORD(S_LOCAL , 0x113e, LocalSym)
0215 SYMBOL_RECORD(S_DEFRANGE , 0x113f, DefRangeSym)
0216 SYMBOL_RECORD(S_DEFRANGE_SUBFIELD, 0x1140, DefRangeSubfieldSym)
0217 SYMBOL_RECORD(S_DEFRANGE_REGISTER, 0x1141, DefRangeRegisterSym)
0218 SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL, 0x1142, DefRangeFramePointerRelSym)
0219 SYMBOL_RECORD(S_DEFRANGE_SUBFIELD_REGISTER, 0x1143, DefRangeSubfieldRegisterSym)
0220 SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE, 0x1144, DefRangeFramePointerRelFullScopeSym)
0221 SYMBOL_RECORD(S_DEFRANGE_REGISTER_REL, 0x1145, DefRangeRegisterRelSym)
0222 SYMBOL_RECORD(S_BLOCK32 , 0x1103, BlockSym)
0223 SYMBOL_RECORD(S_LABEL32 , 0x1105, LabelSym)
0224 SYMBOL_RECORD(S_OBJNAME , 0x1101, ObjNameSym)
0225 SYMBOL_RECORD(S_COMPILE2 , 0x1116, Compile2Sym)
0226 SYMBOL_RECORD(S_COMPILE3 , 0x113c, Compile3Sym)
0227 SYMBOL_RECORD(S_FRAMEPROC , 0x1012, FrameProcSym)
0228 SYMBOL_RECORD(S_CALLSITEINFO , 0x1139, CallSiteInfoSym)
0229 SYMBOL_RECORD(S_FILESTATIC , 0x1153, FileStaticSym)
0230 SYMBOL_RECORD(S_HEAPALLOCSITE , 0x115e, HeapAllocationSiteSym)
0231 SYMBOL_RECORD(S_FRAMECOOKIE , 0x113a, FrameCookieSym)
0232
0233 SYMBOL_RECORD(S_ARMSWITCHTABLE, 0x1159, JumpTableSym)
0234
0235 SYMBOL_RECORD(S_CALLEES , 0x115a, CallerSym)
0236 SYMBOL_RECORD_ALIAS(S_CALLERS, 0x115b, CalleeSym, CallerSym)
0237
0238 SYMBOL_RECORD(S_UDT , 0x1108, UDTSym)
0239 SYMBOL_RECORD_ALIAS(S_COBOLUDT , 0x1109, CobolUDT, UDTSym)
0240
0241 SYMBOL_RECORD(S_BUILDINFO , 0x114c, BuildInfoSym)
0242 SYMBOL_RECORD(S_BPREL32 , 0x110b, BPRelativeSym)
0243 SYMBOL_RECORD(S_REGREL32 , 0x1111, RegRelativeSym)
0244
0245 SYMBOL_RECORD(S_CONSTANT , 0x1107, ConstantSym)
0246 SYMBOL_RECORD_ALIAS(S_MANCONSTANT , 0x112d, ManagedConstant, ConstantSym)
0247
0248 SYMBOL_RECORD(S_LDATA32 , 0x110c, DataSym)
0249 SYMBOL_RECORD_ALIAS(S_GDATA32 , 0x110d, GlobalData, DataSym)
0250 SYMBOL_RECORD_ALIAS(S_LMANDATA , 0x111c, ManagedLocalData, DataSym)
0251 SYMBOL_RECORD_ALIAS(S_GMANDATA , 0x111d, ManagedGlobalData, DataSym)
0252
0253 SYMBOL_RECORD(S_LTHREAD32 , 0x1112, ThreadLocalDataSym)
0254 SYMBOL_RECORD_ALIAS(S_GTHREAD32 , 0x1113, GlobalTLS, ThreadLocalDataSym)
0255
0256 SYMBOL_RECORD(S_UNAMESPACE , 0x1124, UsingNamespaceSym)
0257 SYMBOL_RECORD(S_ANNOTATION , 0x1019, AnnotationSym)
0258
0259 #undef CV_SYMBOL
0260 #undef SYMBOL_RECORD
0261 #undef SYMBOL_RECORD_ALIAS