diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-01 20:58:36 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-01 20:58:36 +0000 | 
| commit | f382538d471e38a9b98f016c4caebd24c8d60b62 (patch) | |
| tree | d30f3d58b1044b5355d50c17a6a96c6a0b35703a /include/llvm/DebugInfo/CodeView/CodeViewSymbols.def | |
| parent | ee2f195dd3e40f49698ca4dc2666ec09c770e80d (diff) | |
Notes
Diffstat (limited to 'include/llvm/DebugInfo/CodeView/CodeViewSymbols.def')
| -rw-r--r-- | include/llvm/DebugInfo/CodeView/CodeViewSymbols.def | 258 | 
1 files changed, 258 insertions, 0 deletions
| diff --git a/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def b/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def new file mode 100644 index 000000000000..32813d861d90 --- /dev/null +++ b/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def @@ -0,0 +1,258 @@ +//===-- CVLeafTypes.def - All CodeView leaf types ---------------*- C++ -*-===// +// +//                     The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// See LEAF_ENUM_e in cvinfo.h. This should match the constants there. +// +//===----------------------------------------------------------------------===// + +#ifndef CV_SYMBOL +#define CV_SYMBOL(ename, value) +#endif + +#ifndef SYMBOL_RECORD +#define SYMBOL_RECORD(lf_ename, value, name) CV_SYMBOL(lf_ename, value) +#endif + +#ifndef SYMBOL_RECORD_ALIAS +#define SYMBOL_RECORD_ALIAS(lf_ename, value, name, alias_name)                   \ +  SYMBOL_RECORD(lf_ename, value, name) +#endif + +// 16 bit symbol types. Not very useful, provided only for reference. +CV_SYMBOL(S_COMPILE       , 0x0001) +CV_SYMBOL(S_REGISTER_16t  , 0x0002) +CV_SYMBOL(S_CONSTANT_16t  , 0x0003) +CV_SYMBOL(S_UDT_16t       , 0x0004) +CV_SYMBOL(S_SSEARCH       , 0x0005) +CV_SYMBOL(S_SKIP          , 0x0007) +CV_SYMBOL(S_CVRESERVE     , 0x0008) +CV_SYMBOL(S_OBJNAME_ST    , 0x0009) +CV_SYMBOL(S_ENDARG        , 0x000a) +CV_SYMBOL(S_COBOLUDT_16t  , 0x000b) +CV_SYMBOL(S_MANYREG_16t   , 0x000c) +CV_SYMBOL(S_RETURN        , 0x000d) +CV_SYMBOL(S_ENTRYTHIS     , 0x000e) +CV_SYMBOL(S_BPREL16       , 0x0100) +CV_SYMBOL(S_LDATA16       , 0x0101) +CV_SYMBOL(S_GDATA16       , 0x0102) +CV_SYMBOL(S_PUB16         , 0x0103) +CV_SYMBOL(S_LPROC16       , 0x0104) +CV_SYMBOL(S_GPROC16       , 0x0105) +CV_SYMBOL(S_THUNK16       , 0x0106) +CV_SYMBOL(S_BLOCK16       , 0x0107) +CV_SYMBOL(S_WITH16        , 0x0108) +CV_SYMBOL(S_LABEL16       , 0x0109) +CV_SYMBOL(S_CEXMODEL16    , 0x010a) +CV_SYMBOL(S_VFTABLE16     , 0x010b) +CV_SYMBOL(S_REGREL16      , 0x010c) +CV_SYMBOL(S_BPREL32_16t   , 0x0200) +CV_SYMBOL(S_LDATA32_16t   , 0x0201) +CV_SYMBOL(S_GDATA32_16t   , 0x0202) +CV_SYMBOL(S_PUB32_16t     , 0x0203) +CV_SYMBOL(S_LPROC32_16t   , 0x0204) +CV_SYMBOL(S_GPROC32_16t   , 0x0205) +CV_SYMBOL(S_THUNK32_ST    , 0x0206) +CV_SYMBOL(S_BLOCK32_ST    , 0x0207) +CV_SYMBOL(S_WITH32_ST     , 0x0208) +CV_SYMBOL(S_LABEL32_ST    , 0x0209) +CV_SYMBOL(S_CEXMODEL32    , 0x020a) +CV_SYMBOL(S_VFTABLE32_16t , 0x020b) +CV_SYMBOL(S_REGREL32_16t  , 0x020c) +CV_SYMBOL(S_LTHREAD32_16t , 0x020d) +CV_SYMBOL(S_GTHREAD32_16t , 0x020e) +CV_SYMBOL(S_SLINK32       , 0x020f) +CV_SYMBOL(S_LPROCMIPS_16t , 0x0300) +CV_SYMBOL(S_GPROCMIPS_16t , 0x0301) +CV_SYMBOL(S_PROCREF_ST    , 0x0400) +CV_SYMBOL(S_DATAREF_ST    , 0x0401) +CV_SYMBOL(S_ALIGN         , 0x0402) +CV_SYMBOL(S_LPROCREF_ST   , 0x0403) +CV_SYMBOL(S_OEM           , 0x0404) + +// All post 16 bit symbol types have the 0x1000 bit set. +CV_SYMBOL(S_TI16_MAX      , 0x1000) + +// Mostly unused "start" symbol types. +CV_SYMBOL(S_REGISTER_ST   , 0x1001) +CV_SYMBOL(S_CONSTANT_ST   , 0x1002) +CV_SYMBOL(S_UDT_ST        , 0x1003) +CV_SYMBOL(S_COBOLUDT_ST   , 0x1004) +CV_SYMBOL(S_MANYREG_ST    , 0x1005) +CV_SYMBOL(S_BPREL32_ST    , 0x1006) +CV_SYMBOL(S_LDATA32_ST    , 0x1007) +CV_SYMBOL(S_GDATA32_ST    , 0x1008) +CV_SYMBOL(S_PUB32_ST      , 0x1009) +CV_SYMBOL(S_LPROC32_ST    , 0x100a) +CV_SYMBOL(S_GPROC32_ST    , 0x100b) +CV_SYMBOL(S_VFTABLE32     , 0x100c) +CV_SYMBOL(S_REGREL32_ST   , 0x100d) +CV_SYMBOL(S_LTHREAD32_ST  , 0x100e) +CV_SYMBOL(S_GTHREAD32_ST  , 0x100f) +CV_SYMBOL(S_LPROCMIPS_ST  , 0x1010) +CV_SYMBOL(S_GPROCMIPS_ST  , 0x1011) + +CV_SYMBOL(S_COMPILE2_ST   , 0x1013) +CV_SYMBOL(S_MANYREG2_ST   , 0x1014) +CV_SYMBOL(S_LPROCIA64_ST  , 0x1015) +CV_SYMBOL(S_GPROCIA64_ST  , 0x1016) +CV_SYMBOL(S_LOCALSLOT_ST  , 0x1017) +CV_SYMBOL(S_PARAMSLOT_ST  , 0x1018) +CV_SYMBOL(S_ANNOTATION    , 0x1019) +CV_SYMBOL(S_GMANPROC_ST   , 0x101a) +CV_SYMBOL(S_LMANPROC_ST   , 0x101b) +CV_SYMBOL(S_RESERVED1     , 0x101c) +CV_SYMBOL(S_RESERVED2     , 0x101d) +CV_SYMBOL(S_RESERVED3     , 0x101e) +CV_SYMBOL(S_RESERVED4     , 0x101f) +CV_SYMBOL(S_LMANDATA_ST   , 0x1020) +CV_SYMBOL(S_GMANDATA_ST   , 0x1021) +CV_SYMBOL(S_MANFRAMEREL_ST, 0x1022) +CV_SYMBOL(S_MANREGISTER_ST, 0x1023) +CV_SYMBOL(S_MANSLOT_ST    , 0x1024) +CV_SYMBOL(S_MANMANYREG_ST , 0x1025) +CV_SYMBOL(S_MANREGREL_ST  , 0x1026) +CV_SYMBOL(S_MANMANYREG2_ST, 0x1027) +CV_SYMBOL(S_MANTYPREF     , 0x1028) +CV_SYMBOL(S_UNAMESPACE_ST , 0x1029) + +// End of S_*_ST symbols, which do not appear to be generated by modern +// compilers. +CV_SYMBOL(S_ST_MAX        , 0x1100) + + +CV_SYMBOL(S_WITH32        , 0x1104) +CV_SYMBOL(S_MANYREG       , 0x110a) +CV_SYMBOL(S_LPROCMIPS     , 0x1114) +CV_SYMBOL(S_GPROCMIPS     , 0x1115) +CV_SYMBOL(S_MANYREG2      , 0x1117) +CV_SYMBOL(S_LPROCIA64     , 0x1118) +CV_SYMBOL(S_GPROCIA64     , 0x1119) +CV_SYMBOL(S_LOCALSLOT     , 0x111a) +CV_SYMBOL(S_PARAMSLOT     , 0x111b) + +// Managed code symbols. +CV_SYMBOL(S_MANFRAMEREL   , 0x111e) +CV_SYMBOL(S_MANREGISTER   , 0x111f) +CV_SYMBOL(S_MANSLOT       , 0x1120) +CV_SYMBOL(S_MANMANYREG    , 0x1121) +CV_SYMBOL(S_MANREGREL     , 0x1122) +CV_SYMBOL(S_MANMANYREG2   , 0x1123) +CV_SYMBOL(S_UNAMESPACE    , 0x1124) +CV_SYMBOL(S_DATAREF       , 0x1126) +CV_SYMBOL(S_ANNOTATIONREF , 0x1128) +CV_SYMBOL(S_TOKENREF      , 0x1129) +CV_SYMBOL(S_GMANPROC      , 0x112a) +CV_SYMBOL(S_LMANPROC      , 0x112b) +CV_SYMBOL(S_ATTR_FRAMEREL , 0x112e) +CV_SYMBOL(S_ATTR_REGISTER , 0x112f) +CV_SYMBOL(S_ATTR_REGREL   , 0x1130) +CV_SYMBOL(S_ATTR_MANYREG  , 0x1131) + + +CV_SYMBOL(S_SEPCODE       , 0x1132) +CV_SYMBOL(S_LOCAL_2005    , 0x1133) +CV_SYMBOL(S_DEFRANGE_2005 , 0x1134) +CV_SYMBOL(S_DEFRANGE2_2005, 0x1135) +CV_SYMBOL(S_DISCARDED     , 0x113b) + +// Current symbol types for most procedures as of this writing. +CV_SYMBOL(S_LPROCMIPS_ID   , 0x1148) +CV_SYMBOL(S_GPROCMIPS_ID   , 0x1149) +CV_SYMBOL(S_LPROCIA64_ID   , 0x114a) +CV_SYMBOL(S_GPROCIA64_ID   , 0x114b) + +CV_SYMBOL(S_DEFRANGE_HLSL  , 0x1150) +CV_SYMBOL(S_GDATA_HLSL     , 0x1151) +CV_SYMBOL(S_LDATA_HLSL     , 0x1152) +CV_SYMBOL(S_LOCAL_DPC_GROUPSHARED, 0x1154) +CV_SYMBOL(S_DEFRANGE_DPC_PTR_TAG, 0x1157) +CV_SYMBOL(S_DPC_SYM_TAG_MAP, 0x1158) +CV_SYMBOL(S_ARMSWITCHTABLE , 0x1159) +CV_SYMBOL(S_POGODATA       , 0x115c) +CV_SYMBOL(S_INLINESITE2    , 0x115d) +CV_SYMBOL(S_MOD_TYPEREF    , 0x115f) +CV_SYMBOL(S_REF_MINIPDB    , 0x1160) +CV_SYMBOL(S_PDBMAP         , 0x1161) +CV_SYMBOL(S_GDATA_HLSL32   , 0x1162) +CV_SYMBOL(S_LDATA_HLSL32   , 0x1163) +CV_SYMBOL(S_GDATA_HLSL32_EX, 0x1164) +CV_SYMBOL(S_LDATA_HLSL32_EX, 0x1165) + +// Known symbol types +SYMBOL_RECORD(S_END                  , 0x0006, ScopeEndSym) +SYMBOL_RECORD_ALIAS(S_INLINESITE_END , 0x114e, InlineSiteEnd, ScopeEndSym) +SYMBOL_RECORD_ALIAS(S_PROC_ID_END    , 0x114f, ProcEnd, ScopeEndSym) + +SYMBOL_RECORD(S_THUNK32       , 0x1102, Thunk32Sym) +SYMBOL_RECORD(S_TRAMPOLINE    , 0x112c, TrampolineSym) +SYMBOL_RECORD(S_SECTION       , 0x1136, SectionSym) +SYMBOL_RECORD(S_COFFGROUP     , 0x1137, CoffGroupSym) +SYMBOL_RECORD(S_EXPORT        , 0x1138, ExportSym) + +SYMBOL_RECORD(S_LPROC32       , 0x110f, ProcSym) +SYMBOL_RECORD_ALIAS(S_GPROC32       , 0x1110, GlobalProcSym, ProcSym) +SYMBOL_RECORD_ALIAS(S_LPROC32_ID     , 0x1146, ProcIdSym, ProcSym) +SYMBOL_RECORD_ALIAS(S_GPROC32_ID     , 0x1147, GlobalProcIdSym, ProcSym) +SYMBOL_RECORD_ALIAS(S_LPROC32_DPC    , 0x1155, DPCProcSym, ProcSym) +SYMBOL_RECORD_ALIAS(S_LPROC32_DPC_ID , 0x1156, DPCProcIdSym, ProcSym) + +SYMBOL_RECORD(S_REGISTER      , 0x1106, RegisterSym) +SYMBOL_RECORD(S_PUB32         , 0x110e, PublicSym32) + +SYMBOL_RECORD(S_PROCREF       , 0x1125, ProcRefSym) +SYMBOL_RECORD_ALIAS(S_LPROCREF, 0x1127, LocalProcRef, ProcRefSym) + + +SYMBOL_RECORD(S_ENVBLOCK      , 0x113d, EnvBlockSym) + +SYMBOL_RECORD(S_INLINESITE     , 0x114d, InlineSiteSym) +SYMBOL_RECORD(S_LOCAL         , 0x113e, LocalSym) +SYMBOL_RECORD(S_DEFRANGE      , 0x113f, DefRangeSym) +SYMBOL_RECORD(S_DEFRANGE_SUBFIELD, 0x1140, DefRangeSubfieldSym) +SYMBOL_RECORD(S_DEFRANGE_REGISTER, 0x1141, DefRangeRegisterSym) +SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL, 0x1142, DefRangeFramePointerRelSym) +SYMBOL_RECORD(S_DEFRANGE_SUBFIELD_REGISTER, 0x1143, DefRangeSubfieldRegisterSym) +SYMBOL_RECORD(S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE, 0x1144, DefRangeFramePointerRelFullScopeSym) +SYMBOL_RECORD(S_DEFRANGE_REGISTER_REL, 0x1145, DefRangeRegisterRelSym) +SYMBOL_RECORD(S_BLOCK32       , 0x1103, BlockSym) +SYMBOL_RECORD(S_LABEL32       , 0x1105, LabelSym) +SYMBOL_RECORD(S_OBJNAME       , 0x1101, ObjNameSym) +SYMBOL_RECORD(S_COMPILE2      , 0x1116, Compile2Sym) +SYMBOL_RECORD(S_COMPILE3      , 0x113c, Compile3Sym) +SYMBOL_RECORD(S_FRAMEPROC     , 0x1012, FrameProcSym) +SYMBOL_RECORD(S_CALLSITEINFO  , 0x1139, CallSiteInfoSym) +SYMBOL_RECORD(S_FILESTATIC     , 0x1153, FileStaticSym) +SYMBOL_RECORD(S_HEAPALLOCSITE  , 0x115e, HeapAllocationSiteSym) +SYMBOL_RECORD(S_FRAMECOOKIE   , 0x113a, FrameCookieSym) + +SYMBOL_RECORD(S_CALLEES        , 0x115a, CallerSym) +SYMBOL_RECORD_ALIAS(S_CALLERS        , 0x115b, CalleeSym, CallerSym) + +SYMBOL_RECORD(S_UDT           , 0x1108, UDTSym) +SYMBOL_RECORD_ALIAS(S_COBOLUDT      , 0x1109, CobolUDT, UDTSym) + +SYMBOL_RECORD(S_BUILDINFO      , 0x114c, BuildInfoSym) +SYMBOL_RECORD(S_BPREL32       , 0x110b, BPRelativeSym) +SYMBOL_RECORD(S_REGREL32      , 0x1111, RegRelativeSym) + +SYMBOL_RECORD(S_CONSTANT      , 0x1107, ConstantSym) +SYMBOL_RECORD_ALIAS(S_MANCONSTANT   , 0x112d, ManagedConstant, ConstantSym) + +SYMBOL_RECORD(S_LDATA32       , 0x110c, DataSym) +SYMBOL_RECORD_ALIAS(S_GDATA32       , 0x110d, GlobalData, DataSym) +SYMBOL_RECORD_ALIAS(S_LMANDATA      , 0x111c, ManagedLocalData, DataSym) +SYMBOL_RECORD_ALIAS(S_GMANDATA      , 0x111d, ManagedGlobalData, DataSym) + +SYMBOL_RECORD(S_LTHREAD32     , 0x1112, ThreadLocalDataSym) +SYMBOL_RECORD_ALIAS(S_GTHREAD32     , 0x1113, GlobalTLS, ThreadLocalDataSym) + + +#undef CV_SYMBOL +#undef SYMBOL_RECORD +#undef SYMBOL_RECORD_ALIAS | 
