Struct gimli::read::CommonInformationEntry
source · [−]pub struct CommonInformationEntry<R, Offset = <R as Reader>::Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset, { /* private fields */ }
Expand description
A Common Information Entry holds information that is shared among many Frame Description Entries. There is at least one CIE in every non-empty
.debug_frame
section.
Implementations
sourceimpl<R: Reader> CommonInformationEntry<R>
impl<R: Reader> CommonInformationEntry<R>
Signal Safe Methods
These methods are guaranteed not to allocate, acquire locks, or perform any other signal-unsafe operations.
sourcepub fn offset(&self) -> R::Offset
pub fn offset(&self) -> R::Offset
Get the offset of this entry from the start of its containing section.
sourcepub fn address_size(&self) -> u8
pub fn address_size(&self) -> u8
The size of addresses (in bytes) in this CIE.
sourcepub fn instructions<'a, Section>(
&self,
section: &'a Section,
bases: &'a BaseAddresses
) -> CallFrameInstructionIter<'a, R> where
Section: UnwindSection<R>,
pub fn instructions<'a, Section>(
&self,
section: &'a Section,
bases: &'a BaseAddresses
) -> CallFrameInstructionIter<'a, R> where
Section: UnwindSection<R>,
Iterate over this CIE’s initial instructions.
Can be used with
FallibleIterator
.
sourcepub fn entry_len(&self) -> R::Offset
pub fn entry_len(&self) -> R::Offset
A constant that gives the number of bytes of the CIE structure, not including the length field itself (see Section 7.2.2). The size of the length field plus the value of length must be an integral multiple of the address size.
sourcepub fn version(&self) -> u8
pub fn version(&self) -> u8
A version number (see Section 7.23). This number is specific to the call frame information and is independent of the DWARF version number.
sourcepub fn augmentation(&self) -> Option<&Augmentation>
pub fn augmentation(&self) -> Option<&Augmentation>
Get the augmentation data, if any exists.
The only augmentation understood by gimli
is that which is defined by
.eh_frame
.
sourcepub fn lsda_encoding(&self) -> Option<DwEhPe>
pub fn lsda_encoding(&self) -> Option<DwEhPe>
Return the encoding of the LSDA address for this CIE’s FDEs.
sourcepub fn personality_with_encoding(&self) -> Option<(DwEhPe, Pointer)>
pub fn personality_with_encoding(&self) -> Option<(DwEhPe, Pointer)>
Return the encoding and address of the personality routine handler for this CIE’s FDEs.
sourcepub fn personality(&self) -> Option<Pointer>
pub fn personality(&self) -> Option<Pointer>
Return the address of the personality routine handler for this CIE’s FDEs.
sourcepub fn fde_address_encoding(&self) -> Option<DwEhPe>
pub fn fde_address_encoding(&self) -> Option<DwEhPe>
Return the encoding of the addresses for this CIE’s FDEs.
sourcepub fn is_signal_trampoline(&self) -> bool
pub fn is_signal_trampoline(&self) -> bool
True if this CIE’s FDEs are trampolines for signal handlers.
sourcepub fn code_alignment_factor(&self) -> u64
pub fn code_alignment_factor(&self) -> u64
A constant that is factored out of all advance location instructions (see Section 6.4.2.1).
sourcepub fn data_alignment_factor(&self) -> i64
pub fn data_alignment_factor(&self) -> i64
A constant that is factored out of certain offset instructions (see below). The resulting value is (operand * data_alignment_factor).
sourcepub fn return_address_register(&self) -> Register
pub fn return_address_register(&self) -> Register
An unsigned … constant that indicates which column in the rule table represents the return address of the function. Note that this column might not correspond to an actual machine register.
Trait Implementations
sourceimpl<R: Clone, Offset: Clone> Clone for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Clone, Offset: Clone> Clone for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
sourcefn clone(&self) -> CommonInformationEntry<R, Offset>
fn clone(&self) -> CommonInformationEntry<R, Offset>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<R: Debug, Offset: Debug> Debug for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Debug, Offset: Debug> Debug for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
sourceimpl<R: PartialEq, Offset: PartialEq> PartialEq<CommonInformationEntry<R, Offset>> for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: PartialEq, Offset: PartialEq> PartialEq<CommonInformationEntry<R, Offset>> for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
sourcefn eq(&self, other: &CommonInformationEntry<R, Offset>) -> bool
fn eq(&self, other: &CommonInformationEntry<R, Offset>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CommonInformationEntry<R, Offset>) -> bool
fn ne(&self, other: &CommonInformationEntry<R, Offset>) -> bool
This method tests for !=
.
impl<R: Eq, Offset: Eq> Eq for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> StructuralEq for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> StructuralPartialEq for CommonInformationEntry<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Auto Trait Implementations
impl<R, Offset> RefUnwindSafe for CommonInformationEntry<R, Offset> where
Offset: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, Offset> Send for CommonInformationEntry<R, Offset> where
Offset: Send,
R: Send,
impl<R, Offset> Sync for CommonInformationEntry<R, Offset> where
Offset: Sync,
R: Sync,
impl<R, Offset> Unpin for CommonInformationEntry<R, Offset> where
Offset: Unpin,
R: Unpin,
impl<R, Offset> UnwindSafe for CommonInformationEntry<R, Offset> where
Offset: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more