pub enum RelocKind {
ThmCall,
MovwAbs,
MovtAbs,
Abs32,
}Expand description
A relocation entry produced during compilation
Records that a BL instruction at offset bytes into the function’s code
targets an external symbol (e.g., __meld_dispatch_import). The linker
resolves these when combining the Synth object with the Kiln bridge.
Variants§
ThmCall
R_ARM_THM_CALL — a Thumb BL call site (the default; #167).
MovwAbs
R_ARM_MOVW_ABS_NC — the MOVW half of a symbol-relative address (#237).
MovtAbs
R_ARM_MOVT_ABS — the MOVT half of a symbol-relative address (#237).
Abs32
R_ARM_ABS32 — a 32-bit absolute address held in a .text literal-pool
word, loaded via LDR rX, [pc, #off] (#345). The link-survivable
replacement for the inline-immediate MOVW/MOVT-ABS pair: ld/bfd patches
the data word at link time (S + A, the addend living in the word, REL
semantics), which survives placement into a large multi-object image —
whereas an inline-instruction MOVW_ABS immediate can be mangled.
Trait Implementations§
impl Copy for RelocKind
impl Eq for RelocKind
impl StructuralPartialEq for RelocKind
Auto Trait Implementations§
impl Freeze for RelocKind
impl RefUnwindSafe for RelocKind
impl Send for RelocKind
impl Sync for RelocKind
impl Unpin for RelocKind
impl UnsafeUnpin for RelocKind
impl UnwindSafe for RelocKind
Blanket Implementations§
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.