[][src]Enum elfkit::relocation::RelocationType

pub enum RelocationType {
    R_X86_64_NONE,
    R_X86_64_64,
    R_X86_64_PC32,
    R_X86_64_GOT32,
    R_X86_64_PLT32,
    R_X86_64_COPY,
    R_X86_64_GLOB_DAT,
    R_X86_64_JUMP_SLOT,
    R_X86_64_RELATIVE,
    R_X86_64_GOTPCREL,
    R_X86_64_32,
    R_X86_64_32S,
    R_X86_64_16,
    R_X86_64_PC16,
    R_X86_64_8,
    R_X86_64_PC8,
    R_X86_64_DTPMOD64,
    R_X86_64_DTPOFF64,
    R_X86_64_TPOFF64,
    R_X86_64_TLSGD,
    R_X86_64_TLSLD,
    R_X86_64_DTPOFF32,
    R_X86_64_GOTTPOFF,
    R_X86_64_TPOFF32,
    R_X86_64_PC64,
    R_X86_64_GOTOFF64,
    R_X86_64_GOTPC32,
    R_X86_64_SIZE32,
    R_X86_64_SIZE64,
    R_X86_64_GOTPC32_TLSDESC,
    R_X86_64_TLSDESC_CALL,
    R_X86_64_TLSDESC,
    R_X86_64_IRELATIVE,
    R_X86_64_RELATIVE64,
    R_X86_64_GOTPCRELX,
    R_X86_64_REX_GOTPCRELX,
}

Variants

R_X86_64_NONER_X86_64_64R_X86_64_PC32R_X86_64_GOT32R_X86_64_PLT32R_X86_64_COPYR_X86_64_GLOB_DATR_X86_64_JUMP_SLOTR_X86_64_RELATIVER_X86_64_GOTPCRELR_X86_64_32R_X86_64_32SR_X86_64_16R_X86_64_PC16R_X86_64_8R_X86_64_PC8R_X86_64_DTPMOD64

First part of the tls_index structure: ID of module containing symbol writes the module id at this location in an executable this is always exactly 1, so this reloc is only emitted for DYN where the dynamic linker needs to give the module an id

R_X86_64_DTPOFF64

Second part of tls_index: The Offset of the symbol in the TLS Block this is written into the GOT of this unit by the dynamic linker, and the offset is into the TLS block of some other unit that actually defines that symbol

R_X86_64_TPOFF64

Offset in initial TLS Block in initial exec model no idea why this needs a different reloc type, this appears to be identical to R_X86_64_DTPOFF64

R_X86_64_TLSGD

PC Relative address to the tls_index structure in the GOT in general dynamic model

R_X86_64_TLSLD

PC Relative address to the tls_index structure in the GOT in local dynamic model. that index only contains the module id, since the offset is known at link time and will be accessed via R_X86_64_DTPOFF32

R_X86_64_DTPOFF32

Offset of the symbol in TLS Block (local dynamic model)

R_X86_64_GOTTPOFF

in initial exec model, this is a PC Relative offset to a GOT entry which contains the 32bit offset into the thread local block. this is emitted by the compiler when the thread local var will definately be inside the executable.

R_X86_64_TPOFF32

for initial exec model, this is the reloc on the GOT entry.

R_X86_64_PC64R_X86_64_GOTOFF64R_X86_64_GOTPC32R_X86_64_SIZE32R_X86_64_SIZE64R_X86_64_GOTPC32_TLSDESCR_X86_64_TLSDESC_CALLR_X86_64_TLSDESCR_X86_64_IRELATIVER_X86_64_RELATIVE64R_X86_64_GOTPCRELXR_X86_64_REX_GOTPCRELX

Trait Implementations

impl PartialEq<RelocationType> for RelocationType[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl Clone for RelocationType[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Default for RelocationType[src]

impl Debug for RelocationType[src]

impl ToPrimitive for RelocationType[src]

fn to_isize(&self) -> Option<isize>[src]

Converts the value of self to an isize.

fn to_i8(&self) -> Option<i8>[src]

Converts the value of self to an i8.

fn to_i16(&self) -> Option<i16>[src]

Converts the value of self to an i16.

fn to_i32(&self) -> Option<i32>[src]

Converts the value of self to an i32.

fn to_i128(&self) -> Option<i128>[src]

Converts the value of self to an i128. Read more

fn to_usize(&self) -> Option<usize>[src]

Converts the value of self to a usize.

fn to_u8(&self) -> Option<u8>[src]

Converts the value of self to an u8.

fn to_u16(&self) -> Option<u16>[src]

Converts the value of self to an u16.

fn to_u32(&self) -> Option<u32>[src]

Converts the value of self to an u32.

fn to_u128(&self) -> Option<u128>[src]

Converts the value of self to an u128. Read more

fn to_f32(&self) -> Option<f32>[src]

Converts the value of self to an f32.

fn to_f64(&self) -> Option<f64>[src]

Converts the value of self to an f64.

impl FromPrimitive for RelocationType[src]

fn from_isize(n: isize) -> Option<Self>[src]

Convert an isize to return an optional value of this type. If the value cannot be represented by this value, then None is returned. Read more

fn from_i8(n: i8) -> Option<Self>[src]

Convert an i8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_i16(n: i16) -> Option<Self>[src]

Convert an i16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_i32(n: i32) -> Option<Self>[src]

Convert an i32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_i128(n: i128) -> Option<Self>[src]

Convert an i128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_usize(n: usize) -> Option<Self>[src]

Convert a usize to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_u8(n: u8) -> Option<Self>[src]

Convert an u8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_u16(n: u16) -> Option<Self>[src]

Convert an u16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_u32(n: u32) -> Option<Self>[src]

Convert an u32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_u128(n: u128) -> Option<Self>[src]

Convert an u128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_f32(n: f32) -> Option<Self>[src]

Convert a f32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

fn from_f64(n: f64) -> Option<Self>[src]

Convert a f64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]