Struct framehop::aarch64::UnwindRegsAarch64
source · pub struct UnwindRegsAarch64 { /* private fields */ }
Expand description
The registers used for unwinding on Aarch64. We only need lr (x30), sp (x31), and fp (x29).
We also have a PtrAuthMask
which allows stripping off the pointer authentication
hash bits from the return address when unwinding through libraries which use pointer
authentication, e.g. in system libraries on macOS.
Implementations§
source§impl UnwindRegsAarch64
impl UnwindRegsAarch64
sourcepub fn new(lr: u64, sp: u64, fp: u64) -> Self
pub fn new(lr: u64, sp: u64, fp: u64) -> Self
Create a set of unwind register values and do not apply any pointer authentication stripping.
sourcepub fn new_with_ptr_auth_mask(
code_ptr_auth_mask: PtrAuthMask,
lr: u64,
sp: u64,
fp: u64
) -> Self
pub fn new_with_ptr_auth_mask( code_ptr_auth_mask: PtrAuthMask, lr: u64, sp: u64, fp: u64 ) -> Self
Create a set of unwind register values with the given mask for return address pointer authentication stripping.
sourcepub fn lr_mask(&self) -> PtrAuthMask
pub fn lr_mask(&self) -> PtrAuthMask
Get the PtrAuthMask
which we apply to the lr
value.
Trait Implementations§
source§impl Clone for UnwindRegsAarch64
impl Clone for UnwindRegsAarch64
source§fn clone(&self) -> UnwindRegsAarch64
fn clone(&self) -> UnwindRegsAarch64
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for UnwindRegsAarch64
impl Debug for UnwindRegsAarch64
source§impl PartialEq for UnwindRegsAarch64
impl PartialEq for UnwindRegsAarch64
source§fn eq(&self, other: &UnwindRegsAarch64) -> bool
fn eq(&self, other: &UnwindRegsAarch64) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for UnwindRegsAarch64
impl Eq for UnwindRegsAarch64
impl StructuralEq for UnwindRegsAarch64
impl StructuralPartialEq for UnwindRegsAarch64
Auto Trait Implementations§
impl RefUnwindSafe for UnwindRegsAarch64
impl Send for UnwindRegsAarch64
impl Sync for UnwindRegsAarch64
impl Unpin for UnwindRegsAarch64
impl UnwindSafe for UnwindRegsAarch64
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more