1 use crate::slice::from_raw_parts;
4 const R_X86_64_RELATIVE: u32 = 8;
13 pub fn relocate_elf_rela() {
16 static RELACOUNT: usize;
19 if unsafe { RELACOUNT } == 0 { return } // unsafe ok: link-time constant
22 from_raw_parts::<Rela<u64>>(mem::rel_ptr(RELA), RELACOUNT) // unsafe ok: link-time constant
25 if rela.info != (/*0 << 32 |*/ R_X86_64_RELATIVE as u64) {
26 panic!("Invalid relocation");
28 unsafe { *mem::rel_ptr_mut::<*const ()>(rela.offset) = mem::rel_ptr(rela.addend) };