R_MIPS_GPREL32 Support

This commit is contained in:
Ethan Lafrenais 2025-10-08 18:42:03 -04:00
parent 572afa8551
commit c3ab203ec1
No known key found for this signature in database
GPG Key ID: 928A0136009E2745

View File

@ -293,6 +293,9 @@ impl Arch for ArchMips {
}
elf::R_MIPS_PC16 => 0, // PC-relative relocation
R_MIPS15_S3 => ((code & 0x001FFFC0) >> 3) as i64,
elf::R_MIPS_GPREL32 => {
(code as i32 as i64) + self.ri_gp_value as i64
},
flags => bail!("Unsupported MIPS implicit relocation {flags:?}"),
};
Ok(Some(RelocationOverride { target: RelocationOverrideTarget::Keep, addend }))