ia64: Add support for R_IA64_GPREL64I.

Recent GCC generates those relocations, so we need to support them.
This commit is contained in:
Vladimir Serbinenko 2017-01-31 12:39:01 +01:00
parent 255b9e0bea
commit a134ef1ab9
5 changed files with 45 additions and 0 deletions

View file

@ -104,6 +104,9 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
case R_IA64_PCREL64LSB:
*(grub_uint64_t *) addr += value - addr;
break;
case R_IA64_GPREL64I:
grub_ia64_set_immu64 (addr, value - (grub_addr_t) mod->base);
break;
case R_IA64_GPREL22:
if ((value - (grub_addr_t) mod->base) & ~MASK20)
return grub_error (GRUB_ERR_BAD_MODULE,