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 <acazuc@acazuc.fr> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
1f9092bfd5
commit
abb8fb6d1a
@ -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))
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user