diff --git a/userspace/dyn-loader/src/relocation/aarch64.rs b/userspace/dyn-loader/src/relocation/aarch64.rs index be734e88..c68defeb 100644 --- a/userspace/dyn-loader/src/relocation/aarch64.rs +++ b/userspace/dyn-loader/src/relocation/aarch64.rs @@ -93,8 +93,12 @@ impl Relocation for Rela { todo!() } match self.r_type { + // Direct 64 bit: S + A + R_AARCH64_ABS64 => { + Ok(Some(RelaValue::QWord(s + self.r_addend))) + } // Direct 64 bit: S - R_AARCH64_ABS64 | R_AARCH64_JUMP_SLOT | R_AARCH64_GLOB_DAT => { + R_AARCH64_JUMP_SLOT | R_AARCH64_GLOB_DAT => { Ok(Some(RelaValue::QWord(s))) } _ => todo!("Unsupported relocation: {}", self.r_type),