[][src]Struct gimli::write::FrameTable

pub struct FrameTable { /* fields omitted */ }

A table of frame description entries.

Methods

impl FrameTable[src]

pub fn from<R, Section>(
    frame: &Section,
    convert_address: &dyn Fn(u64) -> Option<Address>
) -> ConvertResult<FrameTable> where
    R: Reader<Offset = usize>,
    Section: UnwindSection<R>,
    Section::Offset: UnwindOffset<usize>, 
[src]

Create a frame table by reading the data in the given section.

convert_address is a function to convert read addresses into the Address type. For non-relocatable addresses, this function may simply return Address::Constant(address). For relocatable addresses, it is the caller's responsibility to determine the symbol and addend corresponding to the address and return Address::Symbol { symbol, addend }.

impl FrameTable[src]

pub fn add_cie(&mut self, cie: CommonInformationEntry) -> CieId[src]

Add a CIE and return its id.

If the CIE already exists, then return the id of the existing CIE.

pub fn cie_count(&self) -> usize[src]

The number of CIEs.

pub fn add_fde(&mut self, cie: CieId, fde: FrameDescriptionEntry)[src]

Add a FDE.

Does not check for duplicates.

Panics

Panics if the CIE id is invalid.

pub fn fde_count(&self) -> usize[src]

The number of FDEs.

pub fn write_debug_frame<W: Writer>(&self, w: &mut DebugFrame<W>) -> Result<()>[src]

Write the frame table entries to the given .debug_frame section.

pub fn write_eh_frame<W: Writer>(&self, w: &mut EhFrame<W>) -> Result<()>[src]

Write the frame table entries to the given .eh_frame section.

Trait Implementations

impl Debug for FrameTable[src]

impl Default for FrameTable[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]