Header menu logo B2R2

ELFGccExceptTable Module

Functions and values

Function or value Description

ELFGccExceptTable.GccExceptTable

Full Usage: ELFGccExceptTable.GccExceptTable

Returns: string
Returns: string

ELFGccExceptTable.findMinFilter callsites

Full Usage: ELFGccExceptTable.findMinFilter callsites

Parameters:
Returns: int64
callsites : CallSiteRecord list
Returns: int64

ELFGccExceptTable.findMinOrZero lst

Full Usage: ELFGccExceptTable.findMinOrZero lst

Parameters:
    lst : int64 list

Returns: int64
lst : int64 list
Returns: int64

ELFGccExceptTable.parse toolBox cls shdrs

Full Usage: ELFGccExceptTable.parse toolBox cls shdrs

Parameters:
Returns: Map<uint64, LanguageSpecificDataArea>
toolBox : ELFToolbox
cls : WordSize
shdrs : ELFSection array
Returns: Map<uint64, LanguageSpecificDataArea>

ELFGccExceptTable.parseActionEntries acc span offset actOffset

Full Usage: ELFGccExceptTable.parseActionEntries acc span offset actOffset

Parameters:
    acc : int64 list
    span : ByteSpan
    offset : int
    actOffset : int

Returns: int64 list
acc : int64 list
span : ByteSpan
offset : int
actOffset : int
Returns: int64 list

ELFGccExceptTable.parseActionTable acc span offset callsites

Full Usage: ELFGccExceptTable.parseActionTable acc span offset callsites

Parameters:
Returns: CallSiteRecord list
acc : CallSiteRecord list
span : ByteSpan
offset : int
callsites : CallSiteRecord list
Returns: CallSiteRecord list

ELFGccExceptTable.parseCallSiteTable acc cls span reader offset csv hasAction

Full Usage: ELFGccExceptTable.parseCallSiteTable acc cls span reader offset csv hasAction

Parameters:
Returns: CallSiteRecord list * bool
acc : CallSiteRecord list
cls : WordSize
span : ByteSpan
reader : IBinReader
offset : int
csv : ExceptionHeaderValue
hasAction : bool
Returns: CallSiteRecord list * bool

ELFGccExceptTable.parseLSDA cls span reader sAddr offset

Full Usage: ELFGccExceptTable.parseLSDA cls span reader sAddr offset

Parameters:
Returns: LanguageSpecificDataArea * int

Parse one LSDA entry.

cls : WordSize
span : ByteSpan
reader : IBinReader
sAddr : uint64
offset : int
Returns: LanguageSpecificDataArea * int

ELFGccExceptTable.parseLSDAHeader cls span reader sAddr offset

Full Usage: ELFGccExceptTable.parseLSDAHeader cls span reader sAddr offset

Parameters:
Returns: LSDAHeader * int
cls : WordSize
span : ByteSpan
reader : IBinReader
sAddr : uint64
offset : int
Returns: LSDAHeader * int

ELFGccExceptTable.parseLSDASection cls span reader sAddr offset lsdas

Full Usage: ELFGccExceptTable.parseLSDASection cls span reader sAddr offset lsdas

Parameters:
Returns: Map<uint64, LanguageSpecificDataArea>

Parse language-specific data area.

cls : WordSize
span : ByteSpan
reader : IBinReader
sAddr : uint64
offset : int
lsdas : Map<uint64, LanguageSpecificDataArea>
Returns: Map<uint64, LanguageSpecificDataArea>

ELFGccExceptTable.readUntilNull span offset

Full Usage: ELFGccExceptTable.readUntilNull span offset

Parameters:
Returns: int
span : ByteSpan
offset : int
Returns: int

ELFGccExceptTable.skipDummyAlign span offset

Full Usage: ELFGccExceptTable.skipDummyAlign span offset

Parameters:
Returns: int

Sometimes, we observe dummy zero bytes inserted by the compiler (icc); this is nothing to do with the alignment. This is likely to be the compiler error, but we should safely ignore those dummy bytes.

span : ByteSpan
offset : int
Returns: int

ELFGccExceptTable.skipTypeTable span ttbase callsites

Full Usage: ELFGccExceptTable.skipTypeTable span ttbase callsites

Parameters:
Returns: int

We currently just skip the type table by picking up the minimum filter value as we don't use the type table.

span : ByteSpan
ttbase : int
callsites : CallSiteRecord list
Returns: int

Type something to start searching.