Enum object::read::RelocationEncoding
source · #[non_exhaustive]pub enum RelocationEncoding {
Show 13 variants
Unknown,
Generic,
X86Signed,
X86RipRelative,
X86RipRelativeMovq,
X86Branch,
S390xDbl,
AArch64Call,
LoongArchBranch,
SharcTypeA,
SharcTypeB,
E2KLit,
E2KDisp,
}
Expand description
Information about how the result of the relocation operation is encoded in the place.
This is usually architecture specific, such as specifying an addressing mode or a specific instruction.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unknown
The relocation encoding is unknown.
Generic
Generic encoding.
X86Signed
x86 sign extension at runtime.
Used with RelocationKind::Absolute
.
X86RipRelative
x86 rip-relative addressing.
The RelocationKind
must be PC relative.
X86RipRelativeMovq
x86 rip-relative addressing in movq instruction.
The RelocationKind
must be PC relative.
X86Branch
x86 branch instruction.
The RelocationKind
must be PC relative.
S390xDbl
s390x PC-relative offset shifted right by one bit.
The RelocationKind
must be PC relative.
AArch64Call
AArch64 call target.
The RelocationKind
must be PC relative.
LoongArchBranch
LoongArch branch offset with two trailing zeros.
The RelocationKind
must be PC relative.
SharcTypeA
SHARC+ 48-bit Type A instruction
Represents these possible variants, each with a corresponding
R_SHARC_*
constant:
- 24-bit absolute address
- 32-bit absolute address
- 6-bit relative address
- 24-bit relative address
- 6-bit absolute address in the immediate value field
- 16-bit absolute address in the immediate value field
SharcTypeB
SHARC+ 32-bit Type B instruction
Represents these possible variants, each with a corresponding
R_SHARC_*
constant:
- 6-bit absolute address in the immediate value field
- 7-bit absolute address in the immediate value field
- 16-bit absolute address
- 6-bit relative address
E2KLit
E2K 64-bit value stored in two LTS
Memory representation:
0: LTS1 = value[63:32]
4: LTS0 = value[31:0]
E2KDisp
E2K 28-bit value stored in CS0
Trait Implementations§
source§impl Clone for RelocationEncoding
impl Clone for RelocationEncoding
source§fn clone(&self) -> RelocationEncoding
fn clone(&self) -> RelocationEncoding
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RelocationEncoding
impl Debug for RelocationEncoding
source§impl Hash for RelocationEncoding
impl Hash for RelocationEncoding
source§impl PartialEq for RelocationEncoding
impl PartialEq for RelocationEncoding
source§fn eq(&self, other: &RelocationEncoding) -> bool
fn eq(&self, other: &RelocationEncoding) -> bool
self
and other
values to be equal, and is used
by ==
.