Trait object::read::elf::relocation::Rela

source ·
pub trait Rela:
    Debug
    + Pod
    + Clone {
    type Word: Into<u64>;
    type Sword: Into<i64>;
    type Endian: Endian;

    // Required methods
    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;

    // Provided method
    fn symbol(
        &self,
        endian: Self::Endian,
        is_mips64el: bool,
    ) -> Option<SymbolIndex> { ... }
}
Expand description

A trait for generic access to elf::Rela32 and elf::Rela64.

Required Associated Types§

Required Methods§

source

fn r_offset(&self, endian: Self::Endian) -> Self::Word

source

fn r_info(&self, endian: Self::Endian, is_mips64el: bool) -> Self::Word

source

fn r_addend(&self, endian: Self::Endian) -> Self::Sword

source

fn r_sym(&self, endian: Self::Endian, is_mips64el: bool) -> u32

source

fn r_type(&self, endian: Self::Endian, is_mips64el: bool) -> u32

Provided Methods§

source

fn symbol(&self, endian: Self::Endian, is_mips64el: bool) -> Option<SymbolIndex>

Get the symbol index referenced by the relocation.

Returns None for the null symbol index.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Endian: Endian> Rela for Rela32<Endian>

source§

type Word = u32

source§

type Sword = i32

source§

type Endian = Endian

source§

impl<Endian: Endian> Rela for Rela64<Endian>

source§

type Word = u64

source§

type Sword = i64

source§

type Endian = Endian