#[repr(C)]pub struct Rela64<E: Endian> {
pub r_offset: U64<E>,
pub r_info: U64<E>,
pub r_addend: I64<E>,
}
Expand description
Relocation table entry with explicit addend.
Fields§
§r_offset: U64<E>
Relocation address.
r_info: U64<E>
Relocation type and symbol index.
r_addend: I64<E>
Explicit addend.
Implementations§
source§impl<E: Endian> Rela64<E>
impl<E: Endian> Rela64<E>
pub(crate) fn get_r_info(&self, endian: E, is_mips64el: bool) -> u64
sourcepub fn r_sym(&self, endian: E, is_mips64el: bool) -> u32
pub fn r_sym(&self, endian: E, is_mips64el: bool) -> u32
Get the r_sym
component of the r_info
field.
sourcepub fn r_type(&self, endian: E, is_mips64el: bool) -> u32
pub fn r_type(&self, endian: E, is_mips64el: bool) -> u32
Get the r_type
component of the r_info
field.
sourcepub fn r_info(endian: E, is_mips64el: bool, r_sym: u32, r_type: u32) -> U64<E>
pub fn r_info(endian: E, is_mips64el: bool, r_sym: u32, r_type: u32) -> U64<E>
Calculate the r_info
field given the r_sym
and r_type
components.
sourcepub fn set_r_info(
&mut self,
endian: E,
is_mips64el: bool,
r_sym: u32,
r_type: u32,
)
pub fn set_r_info( &mut self, endian: E, is_mips64el: bool, r_sym: u32, r_type: u32, )
Set the r_info
field given the r_sym
and r_type
components.
Trait Implementations§
source§impl<Endian: Endian> Rela for Rela64<Endian>
impl<Endian: Endian> Rela for Rela64<Endian>
type Word = u64
type Sword = i64
type Endian = Endian
fn r_offset(&self, endian: Self::Endian) -> Self::Word
fn r_info(&self, endian: Self::Endian, is_mips64el: bool) -> Self::Word
fn r_addend(&self, endian: Self::Endian) -> Self::Sword
fn r_sym(&self, endian: Self::Endian, is_mips64el: bool) -> u32
fn r_type(&self, endian: Self::Endian, is_mips64el: bool) -> u32
impl<E: Copy + Endian> Copy for Rela64<E>
impl<E: Endian> Pod for Rela64<E>
Auto Trait Implementations§
impl<E> Freeze for Rela64<E>
impl<E> RefUnwindSafe for Rela64<E>where
E: RefUnwindSafe,
impl<E> Send for Rela64<E>where
E: Send,
impl<E> Sync for Rela64<E>where
E: Sync,
impl<E> Unpin for Rela64<E>where
E: Unpin,
impl<E> UnwindSafe for Rela64<E>where
E: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)