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;
|
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))
|
switch (ELF_R_TYPE (info))
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user