#[repr(u16)]pub enum ARMRelocationType {
Show 15 variants
Absolute = 0,
Addr32 = 1,
Addr32Nb = 2,
Branch24 = 3,
Branch11 = 4,
Rel32 = 10,
Section = 14,
SecRel = 15,
Mov32 = 16,
ImageRelThumbMOV32 = 17,
ImageRelThumbBranch20 = 18,
Unused = 19,
ImageRelThumbBranch24 = 20,
ImageRelThumbBLX23 = 21,
Pair = 22,
}
Expand description
Relocation type indicators for ARM processors.
Variants§
Absolute = 0
The relocation is ignored.
Addr32 = 1
The 32-bit VA of the target.
Addr32Nb = 2
The 32-bit RVA of the target.
Branch24 = 3
The 24-bit relative displacement to the target.
Branch11 = 4
The reference to a subroutine call. The reference consists of two 16-bit instructions with 11-bit offsets.
Rel32 = 10
The 32-bit relative address from the byte following the relocation.
Section = 14
The 16-bit section index of the section that contains the target. This is used to support debugging information.
SecRel = 15
The 32-bit offset of the target from the beginning of its section. This is used to support debugging information and static thread local storage.
Mov32 = 16
The 32-bit VA of the target. This relocation is applied using a MOVW instruction for the low 16 bits followed by a MOVT for the high 16 bits.
ImageRelThumbMOV32 = 17
The 32-bit VA of the target. This relocation is applied using a MOVW instruction for the low 16 bits followed by a MOVT for the high 16 bits.
ImageRelThumbBranch20 = 18
The instruction is fixed up with the 21-bit relative displacement to the 2-byte aligned target. The least significant bit of the displacement is always zero and is not stored. This relocation corresponds to a Thumb-2 32-bit conditional B instruction.
Unused = 19
Unused relocation type.
ImageRelThumbBranch24 = 20
The instruction is fixed up with the 25-bit relative displacement to the 2-byte aligned target. The least significant bit of the displacement is zero and is not stored. This relocation corresponds to a Thumb-2 B instruction.
ImageRelThumbBLX23 = 21
The instruction is fixed up with the 25-bit relative displacement to the 4-byte aligned target. The low 2 bits of the displacement are zero and are not stored. This relocation corresponds to a Thumb-2 BLX instruction.
Pair = 22
The relocation is valid only when it immediately follows a ARM_REFHI or THUMB_REFHI. Its SymbolTableIndex contains a displacement and not an index into the symbol table.
Trait Implementations§
Source§impl Debug for ARMRelocationType
impl Debug for ARMRelocationType
Source§impl FromPrimitive for ARMRelocationType
impl FromPrimitive for ARMRelocationType
Source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moreSource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more