#[repr(u16)]pub enum MIPSRelocationType {
Show 15 variants
Absolute = 0,
RefHalf = 1,
RefWord = 2,
JMPAddr = 3,
RefHi = 4,
RefLo = 5,
GPRel = 6,
Literal = 7,
Section = 10,
SecRel = 11,
SecRelLo = 12,
SecRelHi = 13,
JMPAddr16 = 16,
RefWordNb = 34,
Pair = 37,
}
Expand description
Relocation type indicators for MIPS processors.
Variants§
Absolute = 0
The relocation is ignored.
RefHalf = 1
The high 16 bits of the target’s 32-bit VA.
RefWord = 2
The target’s 32-bit VA.
JMPAddr = 3
The low 26 bits of the target’s VA. This supports the MIPS J and JAL instructions.
RefHi = 4
The high 16 bits of the target’s 32-bit VA. This is used for the first instruction in a two-instruction sequence that loads a full address. This relocation must be immediately followed by a PAIR relocation whose SymbolTableIndex contains a signed 16-bit displacement that is added to the upper 16 bits that are taken from the location that is being relocated.
RefLo = 5
The low 16 bits of the target’s VA.
GPRel = 6
A 16-bit signed displacement of the target relative to the GP register.
Literal = 7
The same as MIPSRelocationType::GPRel
.
Section = 10
The 16-bit section index of the section contains the target. This is used to support debugging information.
SecRel = 11
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.
SecRelLo = 12
The low 16 bits of the 32-bit offset of the target from the beginning of its section.
SecRelHi = 13
The high 16 bits of the 32-bit offset of the target from the beginning of its section. A PAIR relocation must immediately follow this one. The SymbolTableIndex of the PAIR relocation contains a signed 16-bit displacement that is added to the upper 16 bits that are taken from the location that is being relocated.
JMPAddr16 = 16
The low 26 bits of the target’s VA. This supports the MIPS16 JAL instruction.
RefWordNb = 34
The target’s 32-bit RVA.
Pair = 37
The relocation is valid only when it immediately follows a REFHI or SECRELHI relocation. Its SymbolTableIndex contains a displacement and not an index into the symbol table.
Trait Implementations§
Source§impl Debug for MIPSRelocationType
impl Debug for MIPSRelocationType
Source§impl FromPrimitive for MIPSRelocationType
impl FromPrimitive for MIPSRelocationType
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