mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 12:08:14 +00:00
LibDebug: Add all Dwarf v5 attributes, tags, and form enum values
This commit is contained in:
parent
f958c693ee
commit
870bcaeef6
1 changed files with 209 additions and 0 deletions
|
@ -40,14 +40,77 @@ struct [[gnu::packed]] CompilationUnitHeader
|
|||
|
||||
enum class EntryTag : u32 {
|
||||
None = 0,
|
||||
ArrayType = 0x1,
|
||||
ClassType = 0x2,
|
||||
EntryPoint = 0x3,
|
||||
EnumerationType = 0x4,
|
||||
FormalParameter = 0x5,
|
||||
ImportedDeclaration = 0x8,
|
||||
Label = 0xa,
|
||||
LexicalBlock = 0xb,
|
||||
Member = 0xd,
|
||||
PointerType = 0xf,
|
||||
ReferenceType = 0x10,
|
||||
CompileUnit = 0x11,
|
||||
StringType = 0x12,
|
||||
StructureType = 0x13,
|
||||
SubroutineType = 0x15,
|
||||
TypeDef = 0x16,
|
||||
UnionType = 0x17,
|
||||
UnspecifiedParameters = 0x18,
|
||||
Variant = 0x19,
|
||||
CommonBlock = 0x1a,
|
||||
CommonInclusion = 0x1b,
|
||||
Inheritance = 0x1c,
|
||||
InlinedSubroutine = 0x1d,
|
||||
Module = 0x1e,
|
||||
PtrToMemberType = 0x1f,
|
||||
SetType = 0x20,
|
||||
SubRangeType = 0x21,
|
||||
WithStmt = 0x22,
|
||||
AccessDeclaration = 0x23,
|
||||
BaseType = 0x24,
|
||||
CatchBlock = 0x25,
|
||||
ConstType = 0x26,
|
||||
Constant = 0x27,
|
||||
Enumerator = 0x28,
|
||||
FileType = 0x29,
|
||||
Friend = 0x2a,
|
||||
NameList = 0x2b,
|
||||
NameListItem = 0x2c,
|
||||
PackedType = 0x2d,
|
||||
SubProgram = 0x2e,
|
||||
TemplateTypeParam = 0x2f,
|
||||
TemplateValueParam = 0x30,
|
||||
ThrownType = 0x31,
|
||||
TryBlock = 0x32,
|
||||
VariantPart = 0x33,
|
||||
Variable = 0x34,
|
||||
VolatileType = 0x35,
|
||||
DwarfProcedure = 0x36,
|
||||
RestrictType = 0x37,
|
||||
InterfaceType = 0x38,
|
||||
Namespace = 0x39,
|
||||
ImportedModule = 0x3a,
|
||||
UnspecifiedType = 0x3b,
|
||||
PartialUnit = 0x3c,
|
||||
ImportedUnit = 0x3d,
|
||||
MutableType = 0x3e,
|
||||
Condition = 0x3f,
|
||||
SharedTyped = 0x40,
|
||||
TypeUnit = 0x41,
|
||||
RValueReferenceType = 0x42,
|
||||
TemplateAlias = 0x43,
|
||||
CoArrayType = 0x44,
|
||||
GenericSubRange = 0x45,
|
||||
DynamicType = 0x46,
|
||||
AtomicType = 0x47,
|
||||
CallSite = 0x48,
|
||||
CallSiteParameter = 0x49,
|
||||
SkeletonUnit = 0x4a,
|
||||
ImmutableType = 0x4b,
|
||||
LoUser = 0x4080,
|
||||
HiUser = 0xffff,
|
||||
};
|
||||
|
||||
enum class Attribute : u32 {
|
||||
|
@ -55,27 +118,173 @@ enum class Attribute : u32 {
|
|||
Sibling = 0x1,
|
||||
Location = 0x2,
|
||||
Name = 0x3,
|
||||
Ordering = 0x9,
|
||||
ByteSize = 0xb,
|
||||
BitOffset = 0xc,
|
||||
BitSize = 0xd,
|
||||
StmtList = 0x10,
|
||||
LowPc = 0x11,
|
||||
HighPc = 0x12,
|
||||
Language = 0x13,
|
||||
Discr = 0x15,
|
||||
DiscrValue = 0x16,
|
||||
Visibility = 0x17,
|
||||
Import = 0x18,
|
||||
StringLength = 0x19,
|
||||
CommonReference = 0x1a,
|
||||
CompDir = 0x1b,
|
||||
ConstValue = 0x1c,
|
||||
ContainingType = 0x1d,
|
||||
DefaultValue = 0x1e,
|
||||
Inline = 0x20,
|
||||
IsOptional = 0x21,
|
||||
LowerBound = 0x22,
|
||||
Producer = 0x25,
|
||||
Prototyped = 0x27,
|
||||
ReturnAddr = 0x2a,
|
||||
StartScope = 0x2c,
|
||||
BitStride = 0x2e,
|
||||
UpperBound = 0x2f,
|
||||
AbstractOrigin = 0x31,
|
||||
Accessibility = 0x32,
|
||||
AddressClass = 0x33,
|
||||
Artificial = 0x34,
|
||||
BaseTypes = 0x35,
|
||||
CallingConvention = 0x36,
|
||||
Count = 0x37,
|
||||
MemberLocation = 0x38,
|
||||
DeclColumn = 0x39,
|
||||
DeclFile = 0x3a,
|
||||
DeclLine = 0x3b,
|
||||
Declaration = 0x3c,
|
||||
DiscrList = 0x3d,
|
||||
Encoding = 0x3e,
|
||||
External = 0x3f,
|
||||
FrameBase = 0x40,
|
||||
Friend = 0x41,
|
||||
IdentifierCase = 0x43,
|
||||
MacroInfo = 0x43,
|
||||
NameListItem = 0x44,
|
||||
Priority = 0x45,
|
||||
Segment = 0x46,
|
||||
Specification = 0x47,
|
||||
StaticLink = 0x48,
|
||||
Type = 0x49,
|
||||
UseLocation = 0x4a,
|
||||
VariableParameter = 0x4b,
|
||||
Virtuality = 0x4c,
|
||||
VtableElemLocation = 0x4d,
|
||||
Allocated = 0x4e,
|
||||
Associated = 0x4f,
|
||||
DataLocation = 0x50,
|
||||
ByteStride = 0x51,
|
||||
EntryPC = 0x52,
|
||||
UseUTF8 = 0x53,
|
||||
Extension = 0x54,
|
||||
Ranges = 0x55,
|
||||
Trampoline = 0x56,
|
||||
CallColumn = 0x57,
|
||||
CallFile = 0x58,
|
||||
CallLine = 0x59,
|
||||
Description = 0x5a,
|
||||
BinaryScale = 0x5b,
|
||||
DecimalScale = 0x5c,
|
||||
Small = 0x5d,
|
||||
DecimalSign = 0x5e,
|
||||
DigitCount = 0x5f,
|
||||
PictureString = 0x60,
|
||||
Mutable = 0x61,
|
||||
ThreadsScaled = 0x62,
|
||||
Explicit = 0x63,
|
||||
ObjectPointer = 0x64,
|
||||
Endianity = 0x65,
|
||||
Elemental = 0x66,
|
||||
Pure = 0x67,
|
||||
Recursive = 0x68,
|
||||
Signature = 0x69,
|
||||
MainSubprogram = 0x6a,
|
||||
DataBitOffset = 0x6b,
|
||||
ConstExpr = 0x6c,
|
||||
EnumClass = 0x6d,
|
||||
LinkageName = 0x6e,
|
||||
StringLengthBitSize = 0x6f,
|
||||
StringLengthByteSize = 0x70,
|
||||
Rank = 0x71,
|
||||
StrOffsetsBase = 0x72,
|
||||
AddrBase = 0x73,
|
||||
RngListsBase = 0x74,
|
||||
DWOName = 0x76,
|
||||
Reference = 0x77,
|
||||
RValueReference = 0x78,
|
||||
Macros = 0x79,
|
||||
CallAllCalls = 0x7a,
|
||||
CallAllSourceCalls = 0x7b,
|
||||
CallAllTailCalls = 0x7c,
|
||||
CallReturnPC = 0x7d,
|
||||
CallValue = 0x7e,
|
||||
CallOrigin = 0x7f,
|
||||
CallParameter = 0x80,
|
||||
CallPC = 0x81,
|
||||
CallTailCall = 0x82,
|
||||
CallTarget = 0x83,
|
||||
CallTargetClobbered = 0x84,
|
||||
CallDataLocation = 0x85,
|
||||
CallDataValue = 0x86,
|
||||
NoReturn = 0x87,
|
||||
Alignment = 0x88,
|
||||
ExportSymbols = 0x89,
|
||||
Deleted = 0x8a,
|
||||
Defaulted = 0x8b,
|
||||
LocListsBase = 0x8c,
|
||||
LoUser = 0x2000,
|
||||
HiUser = 0x3fff,
|
||||
};
|
||||
|
||||
enum class AttributeDataForm : u32 {
|
||||
None = 0,
|
||||
Addr = 0x1,
|
||||
Block2 = 0x3,
|
||||
Block4 = 0x4,
|
||||
Data2 = 0x5,
|
||||
Data4 = 0x6,
|
||||
Data8 = 0x7,
|
||||
String = 0x8,
|
||||
Block = 0x9,
|
||||
Block1 = 0xa,
|
||||
Data1 = 0xb,
|
||||
Flag = 0xc,
|
||||
SData = 0xd,
|
||||
StringPointer = 0xe,
|
||||
UData = 0xf,
|
||||
RefAddr = 0x10,
|
||||
Ref1 = 0x11,
|
||||
Ref2 = 0x12,
|
||||
Ref4 = 0x13,
|
||||
Ref8 = 0x14,
|
||||
RefUData = 0x15,
|
||||
Indirect = 0x16,
|
||||
SecOffset = 0x17,
|
||||
ExprLoc = 0x18,
|
||||
FlagPresent = 0x19,
|
||||
StrX = 0x1a,
|
||||
AddrX = 0x1b,
|
||||
RefSup4 = 0x1c,
|
||||
StrPSup = 0x1d,
|
||||
Data16 = 0x1e,
|
||||
LineStrP = 0x1f,
|
||||
RefSig8 = 0x20,
|
||||
ImplicitConst = 0x21,
|
||||
LocListX = 0x22,
|
||||
RngListX = 0x23,
|
||||
RefSup8 = 0x24,
|
||||
StrX1 = 0x25,
|
||||
StrX2 = 0x26,
|
||||
StrX3 = 0x27,
|
||||
StrX4 = 0x28,
|
||||
AddrX1 = 0x29,
|
||||
AddrX2 = 0x2a,
|
||||
AddrX3 = 0x2b,
|
||||
AddrX4 = 0x2c
|
||||
};
|
||||
|
||||
struct AttributeSpecification {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue