mirror of https://github.com/golang/go.git
debug/dwarf: add new constants defined in DWARF 5
Also add a few other missing constants. Also rerun current version of stringer. Change-Id: I004ef27f6b40fe2cab64c52d169255dfea43fa01 Reviewed-on: https://go-review.googlesource.com/c/go/+/175137 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
3c56143442
commit
663680b3d4
|
|
@ -4,81 +4,257 @@ package dwarf
|
|||
|
||||
import "strconv"
|
||||
|
||||
const _Attr_name = "SiblingLocationNameOrderingByteSizeBitOffsetBitSizeStmtListLowpcHighpcLanguageDiscrDiscrValueVisibilityImportStringLengthCommonRefCompDirConstValueContainingTypeDefaultValueInlineIsOptionalLowerBoundProducerPrototypedReturnAddrStartScopeStrideSizeUpperBoundAbstractOriginAccessibilityAddrClassArtificialBaseTypesCallingCountDataMemberLocDeclColumnDeclFileDeclLineDeclarationDiscrListEncodingExternalFrameBaseFriendIdentifierCaseMacroInfoNamelistItemPrioritySegmentSpecificationStaticLinkTypeUseLocationVarParamVirtualityVtableElemLocAllocatedAssociatedDataLocationStrideEntrypcUseUTF8ExtensionRangesTrampolineCallColumnCallFileCallLineDescription"
|
||||
func _() {
|
||||
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||
// Re-run the stringer command to generate them again.
|
||||
var x [1]struct{}
|
||||
_ = x[AttrSibling-1]
|
||||
_ = x[AttrLocation-2]
|
||||
_ = x[AttrName-3]
|
||||
_ = x[AttrOrdering-9]
|
||||
_ = x[AttrByteSize-11]
|
||||
_ = x[AttrBitOffset-12]
|
||||
_ = x[AttrBitSize-13]
|
||||
_ = x[AttrStmtList-16]
|
||||
_ = x[AttrLowpc-17]
|
||||
_ = x[AttrHighpc-18]
|
||||
_ = x[AttrLanguage-19]
|
||||
_ = x[AttrDiscr-21]
|
||||
_ = x[AttrDiscrValue-22]
|
||||
_ = x[AttrVisibility-23]
|
||||
_ = x[AttrImport-24]
|
||||
_ = x[AttrStringLength-25]
|
||||
_ = x[AttrCommonRef-26]
|
||||
_ = x[AttrCompDir-27]
|
||||
_ = x[AttrConstValue-28]
|
||||
_ = x[AttrContainingType-29]
|
||||
_ = x[AttrDefaultValue-30]
|
||||
_ = x[AttrInline-32]
|
||||
_ = x[AttrIsOptional-33]
|
||||
_ = x[AttrLowerBound-34]
|
||||
_ = x[AttrProducer-37]
|
||||
_ = x[AttrPrototyped-39]
|
||||
_ = x[AttrReturnAddr-42]
|
||||
_ = x[AttrStartScope-44]
|
||||
_ = x[AttrStrideSize-46]
|
||||
_ = x[AttrUpperBound-47]
|
||||
_ = x[AttrAbstractOrigin-49]
|
||||
_ = x[AttrAccessibility-50]
|
||||
_ = x[AttrAddrClass-51]
|
||||
_ = x[AttrArtificial-52]
|
||||
_ = x[AttrBaseTypes-53]
|
||||
_ = x[AttrCalling-54]
|
||||
_ = x[AttrCount-55]
|
||||
_ = x[AttrDataMemberLoc-56]
|
||||
_ = x[AttrDeclColumn-57]
|
||||
_ = x[AttrDeclFile-58]
|
||||
_ = x[AttrDeclLine-59]
|
||||
_ = x[AttrDeclaration-60]
|
||||
_ = x[AttrDiscrList-61]
|
||||
_ = x[AttrEncoding-62]
|
||||
_ = x[AttrExternal-63]
|
||||
_ = x[AttrFrameBase-64]
|
||||
_ = x[AttrFriend-65]
|
||||
_ = x[AttrIdentifierCase-66]
|
||||
_ = x[AttrMacroInfo-67]
|
||||
_ = x[AttrNamelistItem-68]
|
||||
_ = x[AttrPriority-69]
|
||||
_ = x[AttrSegment-70]
|
||||
_ = x[AttrSpecification-71]
|
||||
_ = x[AttrStaticLink-72]
|
||||
_ = x[AttrType-73]
|
||||
_ = x[AttrUseLocation-74]
|
||||
_ = x[AttrVarParam-75]
|
||||
_ = x[AttrVirtuality-76]
|
||||
_ = x[AttrVtableElemLoc-77]
|
||||
_ = x[AttrAllocated-78]
|
||||
_ = x[AttrAssociated-79]
|
||||
_ = x[AttrDataLocation-80]
|
||||
_ = x[AttrStride-81]
|
||||
_ = x[AttrEntrypc-82]
|
||||
_ = x[AttrUseUTF8-83]
|
||||
_ = x[AttrExtension-84]
|
||||
_ = x[AttrRanges-85]
|
||||
_ = x[AttrTrampoline-86]
|
||||
_ = x[AttrCallColumn-87]
|
||||
_ = x[AttrCallFile-88]
|
||||
_ = x[AttrCallLine-89]
|
||||
_ = x[AttrDescription-90]
|
||||
_ = x[AttrBinaryScale-91]
|
||||
_ = x[AttrDecimalScale-92]
|
||||
_ = x[AttrSmall-93]
|
||||
_ = x[AttrDecimalSign-94]
|
||||
_ = x[AttrDigitCount-95]
|
||||
_ = x[AttrPictureString-96]
|
||||
_ = x[AttrMutable-97]
|
||||
_ = x[AttrThreadsScaled-98]
|
||||
_ = x[AttrExplicit-99]
|
||||
_ = x[AttrObjectPointer-100]
|
||||
_ = x[AttrEndianity-101]
|
||||
_ = x[AttrElemental-102]
|
||||
_ = x[AttrPure-103]
|
||||
_ = x[AttrRecursive-104]
|
||||
_ = x[AttrSignature-105]
|
||||
_ = x[AttrMainSubprogram-106]
|
||||
_ = x[AttrDataBitOffset-107]
|
||||
_ = x[AttrConstExpr-108]
|
||||
_ = x[AttrEnumClass-109]
|
||||
_ = x[AttrLinkageName-110]
|
||||
_ = x[AttrStringLengthBitSize-111]
|
||||
_ = x[AttrStringLengthByteSize-112]
|
||||
_ = x[AttrRank-113]
|
||||
_ = x[AttrStrOffsetsBase-114]
|
||||
_ = x[AttrAddrBase-115]
|
||||
_ = x[AttrRnglistsBase-116]
|
||||
_ = x[AttrDwoName-118]
|
||||
_ = x[AttrReference-119]
|
||||
_ = x[AttrRvalueReference-120]
|
||||
_ = x[AttrMacros-121]
|
||||
_ = x[AttrCallAllCalls-122]
|
||||
_ = x[AttrCallAllSourceCalls-123]
|
||||
_ = x[AttrCallAllTailCalls-124]
|
||||
_ = x[AttrCallReturnPC-125]
|
||||
_ = x[AttrCallValue-126]
|
||||
_ = x[AttrCallOrigin-127]
|
||||
_ = x[AttrCallParameter-128]
|
||||
_ = x[AttrCallPC-129]
|
||||
_ = x[AttrCallTailCall-130]
|
||||
_ = x[AttrCallTarget-131]
|
||||
_ = x[AttrCallTargetClobbered-132]
|
||||
_ = x[AttrCallDataLocation-133]
|
||||
_ = x[AttrCallDataValue-134]
|
||||
_ = x[AttrNoreturn-135]
|
||||
_ = x[AttrAlignment-136]
|
||||
_ = x[AttrExportSymbols-137]
|
||||
_ = x[AttrDeleted-138]
|
||||
_ = x[AttrDefaulted-139]
|
||||
_ = x[AttrLoclistsBase-140]
|
||||
}
|
||||
|
||||
const _Attr_name = "SiblingLocationNameOrderingByteSizeBitOffsetBitSizeStmtListLowpcHighpcLanguageDiscrDiscrValueVisibilityImportStringLengthCommonRefCompDirConstValueContainingTypeDefaultValueInlineIsOptionalLowerBoundProducerPrototypedReturnAddrStartScopeStrideSizeUpperBoundAbstractOriginAccessibilityAddrClassArtificialBaseTypesCallingCountDataMemberLocDeclColumnDeclFileDeclLineDeclarationDiscrListEncodingExternalFrameBaseFriendIdentifierCaseMacroInfoNamelistItemPrioritySegmentSpecificationStaticLinkTypeUseLocationVarParamVirtualityVtableElemLocAllocatedAssociatedDataLocationStrideEntrypcUseUTF8ExtensionRangesTrampolineCallColumnCallFileCallLineDescriptionBinaryScaleDecimalScaleSmallDecimalSignDigitCountPictureStringMutableThreadsScaledExplicitObjectPointerEndianityElementalPureRecursiveSignatureMainSubprogramDataBitOffsetConstExprEnumClassLinkageNameStringLengthBitSizeStringLengthByteSizeRankStrOffsetsBaseAddrBaseRnglistsBaseDwoNameReferenceRvalueReferenceMacrosCallAllCallsCallAllSourceCallsCallAllTailCallsCallReturnPCCallValueCallOriginCallParameterCallPCCallTailCallCallTargetCallTargetClobberedCallDataLocationCallDataValueNoreturnAlignmentExportSymbolsDeletedDefaultedLoclistsBase"
|
||||
|
||||
var _Attr_map = map[Attr]string{
|
||||
1: _Attr_name[0:7],
|
||||
2: _Attr_name[7:15],
|
||||
3: _Attr_name[15:19],
|
||||
9: _Attr_name[19:27],
|
||||
11: _Attr_name[27:35],
|
||||
12: _Attr_name[35:44],
|
||||
13: _Attr_name[44:51],
|
||||
16: _Attr_name[51:59],
|
||||
17: _Attr_name[59:64],
|
||||
18: _Attr_name[64:70],
|
||||
19: _Attr_name[70:78],
|
||||
21: _Attr_name[78:83],
|
||||
22: _Attr_name[83:93],
|
||||
23: _Attr_name[93:103],
|
||||
24: _Attr_name[103:109],
|
||||
25: _Attr_name[109:121],
|
||||
26: _Attr_name[121:130],
|
||||
27: _Attr_name[130:137],
|
||||
28: _Attr_name[137:147],
|
||||
29: _Attr_name[147:161],
|
||||
30: _Attr_name[161:173],
|
||||
32: _Attr_name[173:179],
|
||||
33: _Attr_name[179:189],
|
||||
34: _Attr_name[189:199],
|
||||
37: _Attr_name[199:207],
|
||||
39: _Attr_name[207:217],
|
||||
42: _Attr_name[217:227],
|
||||
44: _Attr_name[227:237],
|
||||
46: _Attr_name[237:247],
|
||||
47: _Attr_name[247:257],
|
||||
49: _Attr_name[257:271],
|
||||
50: _Attr_name[271:284],
|
||||
51: _Attr_name[284:293],
|
||||
52: _Attr_name[293:303],
|
||||
53: _Attr_name[303:312],
|
||||
54: _Attr_name[312:319],
|
||||
55: _Attr_name[319:324],
|
||||
56: _Attr_name[324:337],
|
||||
57: _Attr_name[337:347],
|
||||
58: _Attr_name[347:355],
|
||||
59: _Attr_name[355:363],
|
||||
60: _Attr_name[363:374],
|
||||
61: _Attr_name[374:383],
|
||||
62: _Attr_name[383:391],
|
||||
63: _Attr_name[391:399],
|
||||
64: _Attr_name[399:408],
|
||||
65: _Attr_name[408:414],
|
||||
66: _Attr_name[414:428],
|
||||
67: _Attr_name[428:437],
|
||||
68: _Attr_name[437:449],
|
||||
69: _Attr_name[449:457],
|
||||
70: _Attr_name[457:464],
|
||||
71: _Attr_name[464:477],
|
||||
72: _Attr_name[477:487],
|
||||
73: _Attr_name[487:491],
|
||||
74: _Attr_name[491:502],
|
||||
75: _Attr_name[502:510],
|
||||
76: _Attr_name[510:520],
|
||||
77: _Attr_name[520:533],
|
||||
78: _Attr_name[533:542],
|
||||
79: _Attr_name[542:552],
|
||||
80: _Attr_name[552:564],
|
||||
81: _Attr_name[564:570],
|
||||
82: _Attr_name[570:577],
|
||||
83: _Attr_name[577:584],
|
||||
84: _Attr_name[584:593],
|
||||
85: _Attr_name[593:599],
|
||||
86: _Attr_name[599:609],
|
||||
87: _Attr_name[609:619],
|
||||
88: _Attr_name[619:627],
|
||||
89: _Attr_name[627:635],
|
||||
90: _Attr_name[635:646],
|
||||
1: _Attr_name[0:7],
|
||||
2: _Attr_name[7:15],
|
||||
3: _Attr_name[15:19],
|
||||
9: _Attr_name[19:27],
|
||||
11: _Attr_name[27:35],
|
||||
12: _Attr_name[35:44],
|
||||
13: _Attr_name[44:51],
|
||||
16: _Attr_name[51:59],
|
||||
17: _Attr_name[59:64],
|
||||
18: _Attr_name[64:70],
|
||||
19: _Attr_name[70:78],
|
||||
21: _Attr_name[78:83],
|
||||
22: _Attr_name[83:93],
|
||||
23: _Attr_name[93:103],
|
||||
24: _Attr_name[103:109],
|
||||
25: _Attr_name[109:121],
|
||||
26: _Attr_name[121:130],
|
||||
27: _Attr_name[130:137],
|
||||
28: _Attr_name[137:147],
|
||||
29: _Attr_name[147:161],
|
||||
30: _Attr_name[161:173],
|
||||
32: _Attr_name[173:179],
|
||||
33: _Attr_name[179:189],
|
||||
34: _Attr_name[189:199],
|
||||
37: _Attr_name[199:207],
|
||||
39: _Attr_name[207:217],
|
||||
42: _Attr_name[217:227],
|
||||
44: _Attr_name[227:237],
|
||||
46: _Attr_name[237:247],
|
||||
47: _Attr_name[247:257],
|
||||
49: _Attr_name[257:271],
|
||||
50: _Attr_name[271:284],
|
||||
51: _Attr_name[284:293],
|
||||
52: _Attr_name[293:303],
|
||||
53: _Attr_name[303:312],
|
||||
54: _Attr_name[312:319],
|
||||
55: _Attr_name[319:324],
|
||||
56: _Attr_name[324:337],
|
||||
57: _Attr_name[337:347],
|
||||
58: _Attr_name[347:355],
|
||||
59: _Attr_name[355:363],
|
||||
60: _Attr_name[363:374],
|
||||
61: _Attr_name[374:383],
|
||||
62: _Attr_name[383:391],
|
||||
63: _Attr_name[391:399],
|
||||
64: _Attr_name[399:408],
|
||||
65: _Attr_name[408:414],
|
||||
66: _Attr_name[414:428],
|
||||
67: _Attr_name[428:437],
|
||||
68: _Attr_name[437:449],
|
||||
69: _Attr_name[449:457],
|
||||
70: _Attr_name[457:464],
|
||||
71: _Attr_name[464:477],
|
||||
72: _Attr_name[477:487],
|
||||
73: _Attr_name[487:491],
|
||||
74: _Attr_name[491:502],
|
||||
75: _Attr_name[502:510],
|
||||
76: _Attr_name[510:520],
|
||||
77: _Attr_name[520:533],
|
||||
78: _Attr_name[533:542],
|
||||
79: _Attr_name[542:552],
|
||||
80: _Attr_name[552:564],
|
||||
81: _Attr_name[564:570],
|
||||
82: _Attr_name[570:577],
|
||||
83: _Attr_name[577:584],
|
||||
84: _Attr_name[584:593],
|
||||
85: _Attr_name[593:599],
|
||||
86: _Attr_name[599:609],
|
||||
87: _Attr_name[609:619],
|
||||
88: _Attr_name[619:627],
|
||||
89: _Attr_name[627:635],
|
||||
90: _Attr_name[635:646],
|
||||
91: _Attr_name[646:657],
|
||||
92: _Attr_name[657:669],
|
||||
93: _Attr_name[669:674],
|
||||
94: _Attr_name[674:685],
|
||||
95: _Attr_name[685:695],
|
||||
96: _Attr_name[695:708],
|
||||
97: _Attr_name[708:715],
|
||||
98: _Attr_name[715:728],
|
||||
99: _Attr_name[728:736],
|
||||
100: _Attr_name[736:749],
|
||||
101: _Attr_name[749:758],
|
||||
102: _Attr_name[758:767],
|
||||
103: _Attr_name[767:771],
|
||||
104: _Attr_name[771:780],
|
||||
105: _Attr_name[780:789],
|
||||
106: _Attr_name[789:803],
|
||||
107: _Attr_name[803:816],
|
||||
108: _Attr_name[816:825],
|
||||
109: _Attr_name[825:834],
|
||||
110: _Attr_name[834:845],
|
||||
111: _Attr_name[845:864],
|
||||
112: _Attr_name[864:884],
|
||||
113: _Attr_name[884:888],
|
||||
114: _Attr_name[888:902],
|
||||
115: _Attr_name[902:910],
|
||||
116: _Attr_name[910:922],
|
||||
118: _Attr_name[922:929],
|
||||
119: _Attr_name[929:938],
|
||||
120: _Attr_name[938:953],
|
||||
121: _Attr_name[953:959],
|
||||
122: _Attr_name[959:971],
|
||||
123: _Attr_name[971:989],
|
||||
124: _Attr_name[989:1005],
|
||||
125: _Attr_name[1005:1017],
|
||||
126: _Attr_name[1017:1026],
|
||||
127: _Attr_name[1026:1036],
|
||||
128: _Attr_name[1036:1049],
|
||||
129: _Attr_name[1049:1055],
|
||||
130: _Attr_name[1055:1067],
|
||||
131: _Attr_name[1067:1077],
|
||||
132: _Attr_name[1077:1096],
|
||||
133: _Attr_name[1096:1112],
|
||||
134: _Attr_name[1112:1125],
|
||||
135: _Attr_name[1125:1133],
|
||||
136: _Attr_name[1133:1142],
|
||||
137: _Attr_name[1142:1155],
|
||||
138: _Attr_name[1155:1162],
|
||||
139: _Attr_name[1162:1171],
|
||||
140: _Attr_name[1171:1183],
|
||||
}
|
||||
|
||||
func (i Attr) String() string {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,27 @@ package dwarf
|
|||
|
||||
import "strconv"
|
||||
|
||||
func _() {
|
||||
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||
// Re-run the stringer command to generate them again.
|
||||
var x [1]struct{}
|
||||
_ = x[ClassUnknown-0]
|
||||
_ = x[ClassAddress-1]
|
||||
_ = x[ClassBlock-2]
|
||||
_ = x[ClassConstant-3]
|
||||
_ = x[ClassExprLoc-4]
|
||||
_ = x[ClassFlag-5]
|
||||
_ = x[ClassLinePtr-6]
|
||||
_ = x[ClassLocListPtr-7]
|
||||
_ = x[ClassMacPtr-8]
|
||||
_ = x[ClassRangeListPtr-9]
|
||||
_ = x[ClassReference-10]
|
||||
_ = x[ClassReferenceSig-11]
|
||||
_ = x[ClassString-12]
|
||||
_ = x[ClassReferenceAlt-13]
|
||||
_ = x[ClassStringAlt-14]
|
||||
}
|
||||
|
||||
const _Class_name = "ClassUnknownClassAddressClassBlockClassConstantClassExprLocClassFlagClassLinePtrClassLocListPtrClassMacPtrClassRangeListPtrClassReferenceClassReferenceSigClassStringClassReferenceAltClassStringAlt"
|
||||
|
||||
var _Class_index = [...]uint8{0, 12, 24, 34, 47, 59, 68, 80, 95, 106, 123, 137, 154, 165, 182, 196}
|
||||
|
|
|
|||
|
|
@ -71,19 +71,71 @@ const (
|
|||
AttrVarParam Attr = 0x4B
|
||||
AttrVirtuality Attr = 0x4C
|
||||
AttrVtableElemLoc Attr = 0x4D
|
||||
AttrAllocated Attr = 0x4E
|
||||
AttrAssociated Attr = 0x4F
|
||||
AttrDataLocation Attr = 0x50
|
||||
AttrStride Attr = 0x51
|
||||
AttrEntrypc Attr = 0x52
|
||||
AttrUseUTF8 Attr = 0x53
|
||||
AttrExtension Attr = 0x54
|
||||
AttrRanges Attr = 0x55
|
||||
AttrTrampoline Attr = 0x56
|
||||
AttrCallColumn Attr = 0x57
|
||||
AttrCallFile Attr = 0x58
|
||||
AttrCallLine Attr = 0x59
|
||||
AttrDescription Attr = 0x5A
|
||||
// The following are new in DWARF 3.
|
||||
AttrAllocated Attr = 0x4E
|
||||
AttrAssociated Attr = 0x4F
|
||||
AttrDataLocation Attr = 0x50
|
||||
AttrStride Attr = 0x51
|
||||
AttrEntrypc Attr = 0x52
|
||||
AttrUseUTF8 Attr = 0x53
|
||||
AttrExtension Attr = 0x54
|
||||
AttrRanges Attr = 0x55
|
||||
AttrTrampoline Attr = 0x56
|
||||
AttrCallColumn Attr = 0x57
|
||||
AttrCallFile Attr = 0x58
|
||||
AttrCallLine Attr = 0x59
|
||||
AttrDescription Attr = 0x5A
|
||||
AttrBinaryScale Attr = 0x5B
|
||||
AttrDecimalScale Attr = 0x5C
|
||||
AttrSmall Attr = 0x5D
|
||||
AttrDecimalSign Attr = 0x5E
|
||||
AttrDigitCount Attr = 0x5F
|
||||
AttrPictureString Attr = 0x60
|
||||
AttrMutable Attr = 0x61
|
||||
AttrThreadsScaled Attr = 0x62
|
||||
AttrExplicit Attr = 0x63
|
||||
AttrObjectPointer Attr = 0x64
|
||||
AttrEndianity Attr = 0x65
|
||||
AttrElemental Attr = 0x66
|
||||
AttrPure Attr = 0x67
|
||||
AttrRecursive Attr = 0x68
|
||||
// The following are new in DWARF 4.
|
||||
AttrSignature Attr = 0x69
|
||||
AttrMainSubprogram Attr = 0x6A
|
||||
AttrDataBitOffset Attr = 0x6B
|
||||
AttrConstExpr Attr = 0x6C
|
||||
AttrEnumClass Attr = 0x6D
|
||||
AttrLinkageName Attr = 0x6E
|
||||
// The following are new in DWARF 5.
|
||||
AttrStringLengthBitSize Attr = 0x6F
|
||||
AttrStringLengthByteSize Attr = 0x70
|
||||
AttrRank Attr = 0x71
|
||||
AttrStrOffsetsBase Attr = 0x72
|
||||
AttrAddrBase Attr = 0x73
|
||||
AttrRnglistsBase Attr = 0x74
|
||||
AttrDwoName Attr = 0x76
|
||||
AttrReference Attr = 0x77
|
||||
AttrRvalueReference Attr = 0x78
|
||||
AttrMacros Attr = 0x79
|
||||
AttrCallAllCalls Attr = 0x7A
|
||||
AttrCallAllSourceCalls Attr = 0x7B
|
||||
AttrCallAllTailCalls Attr = 0x7C
|
||||
AttrCallReturnPC Attr = 0x7D
|
||||
AttrCallValue Attr = 0x7E
|
||||
AttrCallOrigin Attr = 0x7F
|
||||
AttrCallParameter Attr = 0x80
|
||||
AttrCallPC Attr = 0x81
|
||||
AttrCallTailCall Attr = 0x82
|
||||
AttrCallTarget Attr = 0x83
|
||||
AttrCallTargetClobbered Attr = 0x84
|
||||
AttrCallDataLocation Attr = 0x85
|
||||
AttrCallDataValue Attr = 0x86
|
||||
AttrNoreturn Attr = 0x87
|
||||
AttrAlignment Attr = 0x88
|
||||
AttrExportSymbols Attr = 0x89
|
||||
AttrDeleted Attr = 0x8A
|
||||
AttrDefaulted Attr = 0x8B
|
||||
AttrLoclistsBase Attr = 0x8C
|
||||
)
|
||||
|
||||
func (a Attr) GoString() string {
|
||||
|
|
@ -124,6 +176,25 @@ const (
|
|||
formExprloc format = 0x18
|
||||
formFlagPresent format = 0x19
|
||||
formRefSig8 format = 0x20
|
||||
// The following are new in DWARF 5.
|
||||
formStrx format = 0x1A
|
||||
formAddrx format = 0x1B
|
||||
formRefSup4 format = 0x1C
|
||||
formStrpSup format = 0x1D
|
||||
formData16 format = 0x1E
|
||||
formLineStrp format = 0x1F
|
||||
formImplicitConst format = 0x21
|
||||
formLoclistx format = 0x22
|
||||
formRnglistx format = 0x23
|
||||
formRefSup8 format = 0x24
|
||||
formStrx1 format = 0x25
|
||||
formStrx2 format = 0x26
|
||||
formStrx3 format = 0x27
|
||||
formStrx4 format = 0x28
|
||||
formAddrx1 format = 0x29
|
||||
formAddrx2 format = 0x2A
|
||||
formAddrx3 format = 0x2B
|
||||
formAddrx4 format = 0x2C
|
||||
// Extensions for multi-file compression (.dwz)
|
||||
// http://www.dwarfstd.org/ShowIssue.php?issue=120604.1
|
||||
formGnuRefAlt format = 0x1f20
|
||||
|
|
@ -199,6 +270,15 @@ const (
|
|||
TagTypeUnit Tag = 0x41
|
||||
TagRvalueReferenceType Tag = 0x42
|
||||
TagTemplateAlias Tag = 0x43
|
||||
// The following are new in DWARF 5.
|
||||
TagCoarrayType Tag = 0x44
|
||||
TagGenericSubrange Tag = 0x45
|
||||
TagDynamicType Tag = 0x46
|
||||
TagAtomicType Tag = 0x47
|
||||
TagCallSite Tag = 0x48
|
||||
TagCallSiteParameter Tag = 0x49
|
||||
TagSkeletonUnit Tag = 0x4A
|
||||
TagImmutableType Tag = 0x4B
|
||||
)
|
||||
|
||||
func (t Tag) GoString() string {
|
||||
|
|
@ -269,25 +349,54 @@ const (
|
|||
opDerefSize = 0x94 /* 1-byte size of data retrieved */
|
||||
opXderefSize = 0x95 /* 1-byte size of data retrieved */
|
||||
opNop = 0x96
|
||||
/* next four new in Dwarf v3 */
|
||||
opPushObjAddr = 0x97
|
||||
opCall2 = 0x98 /* 2-byte offset of DIE */
|
||||
opCall4 = 0x99 /* 4-byte offset of DIE */
|
||||
opCallRef = 0x9A /* 4- or 8- byte offset of DIE */
|
||||
// The following are new in DWARF 3.
|
||||
opPushObjAddr = 0x97
|
||||
opCall2 = 0x98 /* 2-byte offset of DIE */
|
||||
opCall4 = 0x99 /* 4-byte offset of DIE */
|
||||
opCallRef = 0x9A /* 4- or 8- byte offset of DIE */
|
||||
opFormTLSAddress = 0x9B
|
||||
opCallFrameCFA = 0x9C
|
||||
opBitPiece = 0x9D
|
||||
// The following are new in DWARF 4.
|
||||
opImplicitValue = 0x9E
|
||||
opStackValue = 0x9F
|
||||
// The following a new in DWARF 5.
|
||||
opImplicitPointer = 0xA0
|
||||
opAddrx = 0xA1
|
||||
opConstx = 0xA2
|
||||
opEntryValue = 0xA3
|
||||
opConstType = 0xA4
|
||||
opRegvalType = 0xA5
|
||||
opDerefType = 0xA6
|
||||
opXderefType = 0xA7
|
||||
opConvert = 0xA8
|
||||
opReinterpret = 0xA9
|
||||
/* 0xE0-0xFF reserved for user-specific */
|
||||
)
|
||||
|
||||
// Basic type encodings -- the value for AttrEncoding in a TagBaseType Entry.
|
||||
const (
|
||||
encAddress = 0x01
|
||||
encBoolean = 0x02
|
||||
encComplexFloat = 0x03
|
||||
encFloat = 0x04
|
||||
encSigned = 0x05
|
||||
encSignedChar = 0x06
|
||||
encUnsigned = 0x07
|
||||
encUnsignedChar = 0x08
|
||||
encAddress = 0x01
|
||||
encBoolean = 0x02
|
||||
encComplexFloat = 0x03
|
||||
encFloat = 0x04
|
||||
encSigned = 0x05
|
||||
encSignedChar = 0x06
|
||||
encUnsigned = 0x07
|
||||
encUnsignedChar = 0x08
|
||||
// The following are new in DWARF 3.
|
||||
encImaginaryFloat = 0x09
|
||||
encPackedDecimal = 0x0A
|
||||
encNumericString = 0x0B
|
||||
encEdited = 0x0C
|
||||
encSignedFixed = 0x0D
|
||||
encUnsignedFixed = 0x0E
|
||||
encDecimalFloat = 0x0F
|
||||
// The following are new in DWARF 4.
|
||||
encUTF = 0x10
|
||||
// The following are new in DWARF 5.
|
||||
encUCS = 0x11
|
||||
encASCII = 0x12
|
||||
)
|
||||
|
||||
// Statement program standard opcode encodings.
|
||||
|
|
@ -317,3 +426,38 @@ const (
|
|||
// DWARF 4
|
||||
lneSetDiscriminator = 4
|
||||
)
|
||||
|
||||
// Line table directory directory and file name entry formats.
|
||||
// These are new in DWARF 5.
|
||||
const (
|
||||
lnctPath = 0x01
|
||||
lnctDirectoryIndex = 0x02
|
||||
lnctTimestamp = 0x03
|
||||
lnctSize = 0x04
|
||||
lnctMD5 = 0x05
|
||||
)
|
||||
|
||||
// Location list entry codes.
|
||||
// These are new in DWARF 5.
|
||||
const (
|
||||
lleEndOfList = 0x00
|
||||
lleBaseAddressx = 0x01
|
||||
lleStartxEndx = 0x02
|
||||
lleStartxLength = 0x03
|
||||
lleOffsetPair = 0x04
|
||||
lleDefaultLocation = 0x05
|
||||
lleBaseAddress = 0x06
|
||||
lleStartEnd = 0x07
|
||||
lleStartLength = 0x08
|
||||
)
|
||||
|
||||
// Unit header unit type encodings.
|
||||
// These are new in DWARF 5.
|
||||
const (
|
||||
utCompile = 0x01
|
||||
utType = 0x02
|
||||
utPartial = 0x03
|
||||
utSkeleton = 0x04
|
||||
utSplitCompile = 0x05
|
||||
utSplitType = 0x06
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,20 +4,95 @@ package dwarf
|
|||
|
||||
import "strconv"
|
||||
|
||||
func _() {
|
||||
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||
// Re-run the stringer command to generate them again.
|
||||
var x [1]struct{}
|
||||
_ = x[TagArrayType-1]
|
||||
_ = x[TagClassType-2]
|
||||
_ = x[TagEntryPoint-3]
|
||||
_ = x[TagEnumerationType-4]
|
||||
_ = x[TagFormalParameter-5]
|
||||
_ = x[TagImportedDeclaration-8]
|
||||
_ = x[TagLabel-10]
|
||||
_ = x[TagLexDwarfBlock-11]
|
||||
_ = x[TagMember-13]
|
||||
_ = x[TagPointerType-15]
|
||||
_ = x[TagReferenceType-16]
|
||||
_ = x[TagCompileUnit-17]
|
||||
_ = x[TagStringType-18]
|
||||
_ = x[TagStructType-19]
|
||||
_ = x[TagSubroutineType-21]
|
||||
_ = x[TagTypedef-22]
|
||||
_ = x[TagUnionType-23]
|
||||
_ = x[TagUnspecifiedParameters-24]
|
||||
_ = x[TagVariant-25]
|
||||
_ = x[TagCommonDwarfBlock-26]
|
||||
_ = x[TagCommonInclusion-27]
|
||||
_ = x[TagInheritance-28]
|
||||
_ = x[TagInlinedSubroutine-29]
|
||||
_ = x[TagModule-30]
|
||||
_ = x[TagPtrToMemberType-31]
|
||||
_ = x[TagSetType-32]
|
||||
_ = x[TagSubrangeType-33]
|
||||
_ = x[TagWithStmt-34]
|
||||
_ = x[TagAccessDeclaration-35]
|
||||
_ = x[TagBaseType-36]
|
||||
_ = x[TagCatchDwarfBlock-37]
|
||||
_ = x[TagConstType-38]
|
||||
_ = x[TagConstant-39]
|
||||
_ = x[TagEnumerator-40]
|
||||
_ = x[TagFileType-41]
|
||||
_ = x[TagFriend-42]
|
||||
_ = x[TagNamelist-43]
|
||||
_ = x[TagNamelistItem-44]
|
||||
_ = x[TagPackedType-45]
|
||||
_ = x[TagSubprogram-46]
|
||||
_ = x[TagTemplateTypeParameter-47]
|
||||
_ = x[TagTemplateValueParameter-48]
|
||||
_ = x[TagThrownType-49]
|
||||
_ = x[TagTryDwarfBlock-50]
|
||||
_ = x[TagVariantPart-51]
|
||||
_ = x[TagVariable-52]
|
||||
_ = x[TagVolatileType-53]
|
||||
_ = x[TagDwarfProcedure-54]
|
||||
_ = x[TagRestrictType-55]
|
||||
_ = x[TagInterfaceType-56]
|
||||
_ = x[TagNamespace-57]
|
||||
_ = x[TagImportedModule-58]
|
||||
_ = x[TagUnspecifiedType-59]
|
||||
_ = x[TagPartialUnit-60]
|
||||
_ = x[TagImportedUnit-61]
|
||||
_ = x[TagMutableType-62]
|
||||
_ = x[TagCondition-63]
|
||||
_ = x[TagSharedType-64]
|
||||
_ = x[TagTypeUnit-65]
|
||||
_ = x[TagRvalueReferenceType-66]
|
||||
_ = x[TagTemplateAlias-67]
|
||||
_ = x[TagCoarrayType-68]
|
||||
_ = x[TagGenericSubrange-69]
|
||||
_ = x[TagDynamicType-70]
|
||||
_ = x[TagAtomicType-71]
|
||||
_ = x[TagCallSite-72]
|
||||
_ = x[TagCallSiteParameter-73]
|
||||
_ = x[TagSkeletonUnit-74]
|
||||
_ = x[TagImmutableType-75]
|
||||
}
|
||||
|
||||
const (
|
||||
_Tag_name_0 = "ArrayTypeClassTypeEntryPointEnumerationTypeFormalParameter"
|
||||
_Tag_name_1 = "ImportedDeclaration"
|
||||
_Tag_name_2 = "LabelLexDwarfBlock"
|
||||
_Tag_name_3 = "Member"
|
||||
_Tag_name_4 = "PointerTypeReferenceTypeCompileUnitStringTypeStructType"
|
||||
_Tag_name_5 = "SubroutineTypeTypedefUnionTypeUnspecifiedParametersVariantCommonDwarfBlockCommonInclusionInheritanceInlinedSubroutineModulePtrToMemberTypeSetTypeSubrangeTypeWithStmtAccessDeclarationBaseTypeCatchDwarfBlockConstTypeConstantEnumeratorFileTypeFriendNamelistNamelistItemPackedTypeSubprogramTemplateTypeParameterTemplateValueParameterThrownTypeTryDwarfBlockVariantPartVariableVolatileTypeDwarfProcedureRestrictTypeInterfaceTypeNamespaceImportedModuleUnspecifiedTypePartialUnitImportedUnitMutableTypeConditionSharedTypeTypeUnitRvalueReferenceTypeTemplateAlias"
|
||||
_Tag_name_5 = "SubroutineTypeTypedefUnionTypeUnspecifiedParametersVariantCommonDwarfBlockCommonInclusionInheritanceInlinedSubroutineModulePtrToMemberTypeSetTypeSubrangeTypeWithStmtAccessDeclarationBaseTypeCatchDwarfBlockConstTypeConstantEnumeratorFileTypeFriendNamelistNamelistItemPackedTypeSubprogramTemplateTypeParameterTemplateValueParameterThrownTypeTryDwarfBlockVariantPartVariableVolatileTypeDwarfProcedureRestrictTypeInterfaceTypeNamespaceImportedModuleUnspecifiedTypePartialUnitImportedUnitMutableTypeConditionSharedTypeTypeUnitRvalueReferenceTypeTemplateAliasCoarrayTypeGenericSubrangeDynamicTypeAtomicTypeCallSiteCallSiteParameterSkeletonUnitImmutableType"
|
||||
)
|
||||
|
||||
var (
|
||||
_Tag_index_0 = [...]uint8{0, 9, 18, 28, 43, 58}
|
||||
_Tag_index_2 = [...]uint8{0, 5, 18}
|
||||
_Tag_index_4 = [...]uint8{0, 11, 24, 35, 45, 55}
|
||||
_Tag_index_5 = [...]uint16{0, 14, 21, 30, 51, 58, 74, 89, 100, 117, 123, 138, 145, 157, 165, 182, 190, 205, 214, 222, 232, 240, 246, 254, 266, 276, 286, 307, 329, 339, 352, 363, 371, 383, 397, 409, 422, 431, 445, 460, 471, 483, 494, 503, 513, 521, 540, 553}
|
||||
_Tag_index_5 = [...]uint16{0, 14, 21, 30, 51, 58, 74, 89, 100, 117, 123, 138, 145, 157, 165, 182, 190, 205, 214, 222, 232, 240, 246, 254, 266, 276, 286, 307, 329, 339, 352, 363, 371, 383, 397, 409, 422, 431, 445, 460, 471, 483, 494, 503, 513, 521, 540, 553, 564, 579, 590, 600, 608, 625, 637, 650}
|
||||
)
|
||||
|
||||
func (i Tag) String() string {
|
||||
|
|
@ -35,7 +110,7 @@ func (i Tag) String() string {
|
|||
case 15 <= i && i <= 19:
|
||||
i -= 15
|
||||
return _Tag_name_4[_Tag_index_4[i]:_Tag_index_4[i+1]]
|
||||
case 21 <= i && i <= 67:
|
||||
case 21 <= i && i <= 75:
|
||||
i -= 21
|
||||
return _Tag_name_5[_Tag_index_5[i]:_Tag_index_5[i+1]]
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue