Struct object::read::Relocation

source ·
pub struct Relocation {
    kind: RelocationKind,
    encoding: RelocationEncoding,
    size: u8,
    target: RelocationTarget,
    addend: i64,
    implicit_addend: bool,
    flags: RelocationFlags,
}
Expand description

A relocation entry.

Returned by Object::dynamic_relocations or ObjectSection::relocations.

Fields§

§kind: RelocationKind§encoding: RelocationEncoding§size: u8§target: RelocationTarget§addend: i64§implicit_addend: bool§flags: RelocationFlags

Implementations§

source§

impl Relocation

source

pub fn kind(&self) -> RelocationKind

The operation used to calculate the result of the relocation.

source

pub fn encoding(&self) -> RelocationEncoding

Information about how the result of the relocation operation is encoded in the place.

source

pub fn size(&self) -> u8

The size in bits of the place of the relocation.

If 0, then the size is determined by the relocation kind.

source

pub fn target(&self) -> RelocationTarget

The target of the relocation.

source

pub fn addend(&self) -> i64

The addend to use in the relocation calculation.

source

pub fn set_addend(&mut self, addend: i64)

Set the addend to use in the relocation calculation.

source

pub fn has_implicit_addend(&self) -> bool

Returns true if there is an implicit addend stored in the data at the offset to be relocated.

source

pub fn flags(&self) -> RelocationFlags

Relocation flags that are specific to each file format.

The values returned by kind, encoding and size are derived from these flags.

Trait Implementations§

source§

impl Debug for Relocation

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.