#[repr(u8)]pub enum RelocationKind {
Show 31 variants
Abs4 = 0,
Abs8 = 1,
X86PCRel4 = 2,
X86PCRel8 = 3,
X86CallPCRel4 = 4,
X86CallPLTRel4 = 5,
X86GOTPCRel4 = 6,
Aarch64AdrPrelLo21 = 7,
Aarch64AdrPrelPgHi21 = 8,
Aarch64AddAbsLo12Nc = 9,
Aarch64Ldst128AbsLo12Nc = 10,
Aarch64Ldst64AbsLo12Nc = 11,
Arm32Call = 12,
Arm64Call = 13,
Arm64Movw0 = 14,
Arm64Movw1 = 15,
Arm64Movw2 = 16,
Arm64Movw3 = 17,
RiscvPCRelHi20 = 18,
RiscvPCRelLo12I = 19,
RiscvCall = 20,
LArchAbsHi20 = 21,
LArchAbsLo12 = 22,
LArchAbs64Hi12 = 23,
LArchAbs64Lo20 = 24,
LArchCall36 = 25,
LArchPCAlaHi20 = 26,
LArchPCAlaLo12 = 27,
LArchPCAla64Hi12 = 28,
LArchPCAla64Lo20 = 29,
ElfX86_64TlsGd = 30,
}
Expand description
Relocation kinds for every ISA.
Variants§
Abs4 = 0
absolute 4-byte
Abs8 = 1
absolute 8-byte
X86PCRel4 = 2
x86 PC-relative 4-byte
X86PCRel8 = 3
x86 PC-relative 8-byte
X86CallPCRel4 = 4
x86 call to PC-relative 4-byte
X86CallPLTRel4 = 5
x86 call to PLT-relative 4-byte
X86GOTPCRel4 = 6
x86 GOT PC-relative 4-byte
Aarch64AdrPrelLo21 = 7
R_AARCH64_ADR_PREL_LO21
Aarch64AdrPrelPgHi21 = 8
R_AARCH64_ADR_PREL_PG_HI21
Aarch64AddAbsLo12Nc = 9
R_AARCH64_ADD_ABS_LO12_NC
Aarch64Ldst128AbsLo12Nc = 10
R_AARCH64_LDST128_ABS_LO12_NC
Aarch64Ldst64AbsLo12Nc = 11
R_AARCH64_LDST64_ABS_LO12_NC
Arm32Call = 12
Arm32 call target
Arm64Call = 13
Arm64 call target
Arm64Movw0 = 14
Arm64 movk/z part 0
Arm64Movw1 = 15
Arm64 movk/z part 1
Arm64Movw2 = 16
Arm64 movk/z part 2
Arm64Movw3 = 17
Arm64 movk/z part 3
RiscvPCRelHi20 = 18
RISC-V PC-relative high 20bit
RiscvPCRelLo12I = 19
RISC-V PC-relative low 12bit, I-type
RiscvCall = 20
RISC-V call target
LArchAbsHi20 = 21
LoongArch absolute high 20bit
LArchAbsLo12 = 22
LoongArch absolute low 12bit
LArchAbs64Hi12 = 23
LoongArch absolute high 12bit
LArchAbs64Lo20 = 24
LoongArch absolute low 20bit
LArchCall36 = 25
LoongArch PC-relative call 38bit
LArchPCAlaHi20 = 26
LoongArch PC-relative high 20bit
LArchPCAlaLo12 = 27
LoongArch PC-relative low 12bit
LArchPCAla64Hi12 = 28
LoongArch PC64-relative high 12bit
LArchPCAla64Lo20 = 29
LoongArch PC64-relative low 20bit
ElfX86_64TlsGd = 30
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
Source§type Archived = ArchivedRelocationKind
type Archived = ArchivedRelocationKind
Source§type Resolver = RelocationKindResolver
type Resolver = RelocationKindResolver
Source§fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
Source§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
serialize
. Read moreSource§impl Clone for RelocationKind
impl Clone for RelocationKind
Source§fn clone(&self) -> RelocationKind
fn clone(&self) -> RelocationKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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 as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<RelocationKind, <__D as Fallible>::Error>
Source§impl Display for RelocationKind
impl Display for RelocationKind
Source§impl PartialEq for RelocationKind
impl PartialEq for RelocationKind
impl Copy for RelocationKind
impl Eq for RelocationKind
impl StructuralPartialEq for RelocationKind
Auto Trait Implementations§
impl Freeze for RelocationKind
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
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive
, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.