1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
macro_rules! sym_addr { ($sym:expr) => {{ let out: usize; #[allow(unused_unsafe)] unsafe { core::arch::asm!( "lea {out}, [rip + {sym}]", out = out(reg) out, sym = sym $sym, options(nostack, preserves_flags), ); } out }}; }