#[repr(C)]pub struct UnwindEntry {
pub pc: u32,
pub cfa_offset: i16,
pub rbp_offset: i16,
pub cfa_type: u8,
pub rbp_type: u8,
pub _pad: [u8; 2],
}Expand description
Compact unwind table entry for eBPF-side stack unwinding.
On x86_64, the return address is always at CFA-8, so we don’t store RA rule/offset. Using u32 for PC (file-relative addresses fit in 4GB) and i16 offsets gives us 12 bytes per entry.
Fields§
§pc: u32§cfa_offset: i16§rbp_offset: i16§cfa_type: u8§rbp_type: u8§_pad: [u8; 2]Implementations§
Source§impl UnwindEntry
impl UnwindEntry
pub const STRUCT_SIZE: usize
Trait Implementations§
Source§impl Clone for UnwindEntry
impl Clone for UnwindEntry
Source§fn clone(&self) -> UnwindEntry
fn clone(&self) -> UnwindEntry
Returns a duplicate 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 UnwindEntry
impl Debug for UnwindEntry
Source§impl PartialEq for UnwindEntry
impl PartialEq for UnwindEntry
impl Copy for UnwindEntry
impl Eq for UnwindEntry
impl StructuralPartialEq for UnwindEntry
Auto Trait Implementations§
impl Freeze for UnwindEntry
impl RefUnwindSafe for UnwindEntry
impl Send for UnwindEntry
impl Sync for UnwindEntry
impl Unpin for UnwindEntry
impl UnwindSafe for UnwindEntry
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