From: Anaëlle Cazuc Date: Tue, 2 Sep 2025 09:50:51 +0000 (+0200) Subject: util/grub-mkimagexx: Fix riscv32 relocation offset X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abb8fb6d1af1fe3db06b97bfae87466685b23007;p=thirdparty%2Fgrub.git util/grub-mkimagexx: Fix riscv32 relocation offset When using grub-mkrescue for a riscv32 target, an invalid implicit cast on the offset calculation produces an error during the relocation process: grub-mkrescue: error: target XXX not reachable from pc=fc. This patch adds an explicit grub_int64_t cast to compute the offset as a 64-bit subtraction. Signed-off-by: Anaëlle Cazuc Reviewed-by: Daniel Kiper --- diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c index 448862b2e..45ac77558 100644 --- a/util/grub-mkimagexx.c +++ b/util/grub-mkimagexx.c @@ -1354,7 +1354,7 @@ SUFFIX (relocate_addrs) (Elf_Ehdr *e, struct section_metadata *smd, */ sym_addr += addend; - off = sym_addr - target_section_addr - offset - image_target->vaddr_offset; + off = (grub_int64_t) sym_addr - target_section_addr - offset - image_target->vaddr_offset; switch (ELF_R_TYPE (info)) {