pub struct SFrameFDE {
pub func_start_address: i32,
pub func_size: u32,
pub func_start_fre_off: u32,
pub func_num_fres: u32,
pub func_info: SFrameFDEInfo,
pub func_rep_size: u8,
/* private fields */
}Expand description
Fields§
§func_start_address: i32Signed 32-bit integral field denoting the virtual memory address of the described function,for which the SFrame FDE applies. If the flag SFRAME_F_FDE_FUNC_START_PCREL, See SFrame Flags, in the SFrame header is set, the value encoded in the sfde_func_start_address field is the offset in bytes to the function’s start address, from the SFrame sfde_func_start_address field.
func_size: u32Unsigned 32-bit integral field specifying the size of the function in bytes.
func_start_fre_off: u32Unsigned 32-bit integral field specifying the offset in bytes of the function’s first SFrame FRE in the SFrame section.
func_num_fres: u32Unsigned 32-bit integral field specifying the total number of SFrame FREs used for the function.
func_info: SFrameFDEInfoUnsigned 8-bit integral field specifying the SFrame FDE info word. See The SFrame FDE Info Word.
func_rep_size: u8Unsigned 8-bit integral field specifying the size of the repetitive code block for which an SFrame FDE of type SFRAME_FDE_TYPE_PCMASK is used. For example, in AMD64, the size of a pltN entry is 16 bytes.
Implementations§
Source§impl SFrameFDE
impl SFrameFDE
Sourcepub fn get_pc(&self, section: &SFrameSection<'_>) -> u64
pub fn get_pc(&self, section: &SFrameSection<'_>) -> u64
Compute pc of the function
Sourcepub fn iter_fre<'a>(
&'a self,
section: &'a SFrameSection<'a>,
) -> SFrameFREIterator<'a>
pub fn iter_fre<'a>( &'a self, section: &'a SFrameSection<'a>, ) -> SFrameFREIterator<'a>
Iterate FRE entries
Sourcepub fn find_fre(
&self,
section: &SFrameSection<'_>,
pc: u64,
) -> SFrameResult<Option<SFrameFRE>>
pub fn find_fre( &self, section: &SFrameSection<'_>, pc: u64, ) -> SFrameResult<Option<SFrameFRE>>
Find FRE entry by pc