haskus-system-0.7.0.0: Haskus system programming framework

Safe HaskellNone
LanguageHaskell2010

Haskus.Format.Dwarf

Contents

Description

DWARF debugging information

Synopsis

Documentation

data Entry Source #

A debugging information entry (DIE)

Constructors

Entry 

Fields

Instances

Eq Entry Source # 

Methods

(==) :: Entry -> Entry -> Bool #

(/=) :: Entry -> Entry -> Bool #

Show Entry Source # 

Methods

showsPrec :: Int -> Entry -> ShowS #

show :: Entry -> String #

showList :: [Entry] -> ShowS #

data DwarfFormat Source #

DWARF format (32-bit or 64-bit)

Constructors

Dwarf32 
Dwarf64 

getFormat :: Endianness -> Get DwarfFormat Source #

Getter for the dwarf format

putFormat :: Endianness -> DwarfFormat -> Put Source #

Putter for a dwarf format

getUnitLength :: Endianness -> Get (DwarfFormat, Word64) Source #

Getter for unit length

putUnitLength :: Endianness -> DwarfFormat -> Word64 -> Put Source #

Putter for unit length

Attributes

data Attribute Source #

Attribute

Constructors

AttrAbstractOrigin 
AttrAccessibility 
AttrAddressClass 
AttrAllocated 
AttrArtificial 
AttrAssociated 
AttrBaseTypes 
AttrBinaryScale 
AttrBitOffset 
AttrBitSize 
AttrBitStride 
AttrByteSize 
AttrByteStride 
AttrCallColumn 
AttrCallFile 
AttrCallLine 
AttrCallingConvention 
AttrCommonReference 
AttrCompilationDirectory 
AttrConstantValue 
AttrConstantExpr 
AttrContainingType 
AttrCount 
AttrDataBitOffset 
AttrDataLocation 
AttrDataMemberLocation 
AttrDecimalScale 
AttrDecimalSign 
AttrDeclarationColumn 
AttrDeclarationFile 
AttrDeclarationLine 
AttrDeclaration 
AttrDefaultValue 
AttrDescription 
AttrDigitCount 
AttrDiscriminant 
AttrDiscriminantList 
AttrDiscriminantValue 
AttrElemental 
AttrEncoding 
AttrEndianity 
AttrEntryPC 
AttrEnumClass 
AttrExplicit 
AttrExtension 
AttrExternal 
AttrFrameBase 
AttrFriend 
AttrHighPC 
AttrIdentifierCase 
AttrImport 
AttrInline 
AttrIsOptional 
AttrLanguage 
AttrLinkageName 
AttrLocation 
AttrLowPC 
AttrLowerBound 
AttrMacroInfo 
AttrMainSubprogram 
AttrMutable 
AttrName 
AttrNamelistItem 
AttrObjectPointer 
AttrOrdering 
AttrPictureString 
AttrPriority 
AttrProducer 
AttrPrototyped 
AttrPure 
AttrRanges 
AttrRecursive 
AttrReturnAddress 
AttrSegment 
AttrSibling 
AttrSmall 
AttrSignature 
AttrSpecification 
AttrStartScope 
AttrStaticLink 
AttrStatementList 
AttrStringLength 
AttrThreadsScaled 
AttrTrampoline 
AttrType 
AttrUpperBound 
AttrUseLocation 
AttrUseUtf8 
AttrVariableParameter 
AttrVirtuality 
AttrVisibility 
AttrVTableElemLocation 
AttrCustom Word16 

fromAttribute :: Attribute -> Word16 Source #

Attribute to value

toAttribute :: Word16 -> Attribute Source #

Attribute from value

toForm :: Word16 -> Form Source #

Form from value

fromForm :: Form -> Word16 Source #

Form to value

fromTag :: Tag -> Word16 Source #

Get tag value

toTag :: Word16 -> Tag Source #

Get tag from value

toEncoding :: Word8 -> Encoding Source #

Value to encoding

fromEncoding :: Encoding -> Word8 Source #

Encoding to value

toEndianity :: Word8 -> Endianity Source #

Value to endianity

fromEndianity :: Endianity -> Word8 Source #

Endianity to value

toDecimalSign :: Word8 -> DecimalSign Source #

Value to decimal sign

fromDecimalSign :: DecimalSign -> Word8 Source #

Decimal sign to value

toAccessibility :: Word8 -> Accessibility Source #

Value to accessibility

fromAccessibility :: Accessibility -> Word8 Source #

Accessibility to value

toVisibility :: Word8 -> Visibility Source #

Value to visibility

fromVisibility :: Visibility -> Word8 Source #

Visibility to value

toVirtuality :: Word8 -> Virtuality Source #

Value to virtuality

fromVirtuality :: Virtuality -> Word8 Source #

Virtuality to value

toLanguage :: Word16 -> Language Source #

Value to language

fromLanguage :: Language -> Word16 Source #

Language to value

toCaseSensitivity :: Word8 -> CaseSensitivity Source #

Value to case sensitivity

fromCaseSensitivity :: CaseSensitivity -> Word8 Source #

Case sensitivity to value

toCallingConvention :: Word8 -> CallingConvention Source #

Value to calling convention

fromCallingConvention :: CallingConvention -> Word8 Source #

Calling convention to value

toInlining :: Word8 -> Inlining Source #

Value to inlining

fromInlining :: Inlining -> Word8 Source #

Inlining to value

toArrayOrdering :: Word8 -> ArrayOrdering Source #

Value to array ordering

fromArrayOrdering :: ArrayOrdering -> Word8 Source #

Array ordering to value

Debug entry

data DebugAttribute Source #

Debug attribute

Constructors

DebugAttribute 

Fields

debugEntryTree :: [Maybe DebugEntry] -> Tree DebugEntry Source #

Build a tree from a list of DebugEntry (with Nothing = NULL etnries)

The first entry must be valid and the top level must not be a forest

Debug info

data DebugInfo Source #

Debug info

Constructors

DebugInfo 

Fields

getDebugInfo :: Endianness -> Buffer -> Maybe Buffer -> Get DebugInfo Source #

Getter for debug info

Debug type

getTypeUnitHeader :: Endianness -> Get TypeUnitHeader Source #

Getter for type unit header

putTypeUnitHeader :: Endianness -> TypeUnitHeader -> Put Source #

Putter for type unit header

getDebugType :: Endianness -> Get DebugType Source #

Getter for debug type

Abbreviations

getDebugAbbrevEntry :: Get (Maybe DebugAbbrevEntry) Source #

Read an entry except if the code is 0 (discard it)

getDebugAbbrevEntries :: Get [DebugAbbrevEntry] Source #

Getter for abbrev attributes