#[repr(u8)]
pub enum RelocationKind {
Show 17 variants
Abs4,
Abs8,
X86PCRel4,
X86PCRel8,
X86CallPCRel4,
X86CallPLTRel4,
X86GOTPCRel4,
Arm32Call,
Arm64Call,
Arm64Movw0,
Arm64Movw1,
Arm64Movw2,
Arm64Movw3,
RiscvPCRelHi20,
RiscvPCRelLo12I,
RiscvCall,
ElfX86_64TlsGd,
}
Expand description
Relocation kinds for every ISA.
Variants§
Abs4
absolute 4-byte
Abs8
absolute 8-byte
X86PCRel4
x86 PC-relative 4-byte
X86PCRel8
x86 PC-relative 8-byte
X86CallPCRel4
x86 call to PC-relative 4-byte
X86CallPLTRel4
x86 call to PLT-relative 4-byte
X86GOTPCRel4
x86 GOT PC-relative 4-byte
Arm32Call
Arm32 call target
Arm64Call
Arm64 call target
Arm64Movw0
Arm64 movk/z part 0
Arm64Movw1
Arm64 movk/z part 1
Arm64Movw2
Arm64 movk/z part 2
Arm64Movw3
Arm64 movk/z part 3
RiscvPCRelHi20
RISC-V PC-relative high 20bit
RiscvPCRelLo12I
RISC-V PC-relative low 12bit, I-type
RiscvCall
RISC-V call target
ElfX86_64TlsGd
Elf x86_64 32 bit signed PC relative offset to two GOT entries for GD symbol.
Trait Implementations§
source§impl Archive for RelocationKind
impl Archive for RelocationKind
§type Archived = RelocationKind
type Archived = RelocationKind
The archived representation of this type. Read more
§type Resolver = RelocationKindResolver
type Resolver = RelocationKindResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
source§impl<__C: ?Sized> CheckBytes<__C> for RelocationKind
impl<__C: ?Sized> CheckBytes<__C> for RelocationKind
§type Error = EnumCheckError<u8>
type Error = EnumCheckError<u8>
The error that may result from checking the type.
source§unsafe fn check_bytes<'__bytecheck>(
value: *const Self,
context: &mut __C
) -> Result<&'__bytecheck Self, EnumCheckError<u8>>
unsafe fn check_bytes<'__bytecheck>( value: *const Self, context: &mut __C ) -> Result<&'__bytecheck Self, EnumCheckError<u8>>
Checks whether the given pointer points to a valid value within the
given context. Read more
source§impl Clone for RelocationKind
impl Clone for RelocationKind
source§fn clone(&self) -> RelocationKind
fn clone(&self) -> RelocationKind
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RelocationKind
impl Debug for RelocationKind
source§impl<__D: Fallible + ?Sized> Deserialize<RelocationKind, __D> for Archived<RelocationKind>
impl<__D: Fallible + ?Sized> Deserialize<RelocationKind, __D> for Archived<RelocationKind>
source§fn deserialize(
&self,
deserializer: &mut __D
) -> Result<RelocationKind, __D::Error>
fn deserialize( &self, deserializer: &mut __D ) -> Result<RelocationKind, __D::Error>
Deserializes using the given deserializer
source§impl Display for RelocationKind
impl Display for RelocationKind
source§impl PartialEq<RelocationKind> for RelocationKind
impl PartialEq<RelocationKind> for RelocationKind
source§fn eq(&self, other: &RelocationKind) -> bool
fn eq(&self, other: &RelocationKind) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for RelocationKind
impl Eq for RelocationKind
impl StructuralEq for RelocationKind
impl StructuralPartialEq for RelocationKind
Auto Trait Implementations§
impl RefUnwindSafe for RelocationKind
impl Send for RelocationKind
impl Sync for RelocationKind
impl Unpin for RelocationKind
impl UnwindSafe for RelocationKind
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive
, it may be unsized. Read more§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.