[][src]Enum object::RelocationKind

pub enum RelocationKind {
    Absolute,
    Relative,
    Got,
    GotRelative,
    GotBaseRelative,
    GotBaseOffset,
    PltRelative,
    ImageOffset,
    SectionOffset,
    SectionIndex,
    Other(u32),
}

The operation used to calculate the result of the relocation.

The relocation descriptions use the following definitions. Note that these definitions probably don't match any ELF ABI.

  • A - The value of the addend.
  • G - The address of the symbol's entry within the global offset table.
  • L - The address of the symbol's entry within the procedure linkage table.
  • P - The address of the place of the relocation.
  • S - The address of the symbol.
  • GotBase - The address of the global offset table.
  • Image - The base address of the image.
  • Section - The address of the section containing the symbol.

'XxxRelative' means 'Xxx + A - P'. 'XxxOffset' means 'S + A - Xxx'.

Variants

Absolute

S + A

Relative

S + A - P

Got

G + A - GotBase

GotRelative

G + A - P

GotBaseRelative

GotBase + A - P

GotBaseOffset

S + A - GotBase

PltRelative

L + A - P

ImageOffset

S + A - Image

SectionOffset

S + A - Section

SectionIndex

The index of the section containing the symbol.

Other(u32)

Some other operation and encoding. The value is dependent on file format and machine.

Trait Implementations

impl Debug for RelocationKind[src]

impl PartialEq<RelocationKind> for RelocationKind[src]

impl Eq for RelocationKind[src]

impl Copy for RelocationKind[src]

impl Clone for RelocationKind[src]

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

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

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> Into<U> for T where
    U: From<T>, 
[src]

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

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]

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

type Owned = T

The resulting type after obtaining ownership.