pub enum Reloc {
Show 17 variants Abs4, Abs8, X86PCRel4, X86CallPCRel4, X86CallPLTRel4, X86GOTPCRel4, X86SecRel, Arm32Call, Arm64Call, S390xPCRel32Dbl, S390xPLTRel32Dbl, ElfX86_64TlsGd, MachOX86_64Tlv, Aarch64TlsGdAdrPage21, Aarch64TlsGdAddLo12Nc, S390xTlsGd64, S390xTlsGdCall,
}
Expand description

Relocation kinds for every ISA

Variants

Abs4

absolute 4-byte

Abs8

absolute 8-byte

X86PCRel4

x86 PC-relative 4-byte

X86CallPCRel4

x86 call to PC-relative 4-byte

X86CallPLTRel4

x86 call to PLT-relative 4-byte

X86GOTPCRel4

x86 GOT PC-relative 4-byte

X86SecRel

The 32-bit offset of the target from the beginning of its section. Equivalent to IMAGE_REL_AMD64_SECREL. See: PE Format

Arm32Call

Arm32 call target

Arm64Call

Arm64 call target. Encoded as bottom 26 bits of instruction. This value is sign-extended, multiplied by 4, and added to the PC of the call instruction to form the destination address.

S390xPCRel32Dbl

s390x PC-relative 4-byte offset

S390xPLTRel32Dbl

s390x PC-relative 4-byte offset to PLT

ElfX86_64TlsGd

Elf x86_64 32 bit signed PC relative offset to two GOT entries for GD symbol.

MachOX86_64Tlv

Mach-O x86_64 32 bit signed PC relative offset to a __thread_vars entry.

Aarch64TlsGdAdrPage21

AArch64 TLS GD Set an ADRP immediate field to the top 21 bits of the final address. Checks for overflow. This is equivalent to R_AARCH64_TLSGD_ADR_PAGE21 in the aaelf64

Aarch64TlsGdAddLo12Nc

AArch64 TLS GD Set the add immediate field to the low 12 bits of the final address. Does not check for overflow. This is equivalent to R_AARCH64_TLSGD_ADD_LO12_NC in the aaelf64

S390xTlsGd64

s390x TLS GD64 - 64-bit offset of tls_index for GD symbol in GOT

S390xTlsGdCall

s390x TLS GDCall - marker to enable optimization of TLS calls

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Display trait implementation drops the arch, since its used in contexts where the arch is already unambiguous, e.g. clif syntax with isa specified. In other contexts, use Debug.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.