diff options
Diffstat (limited to 'kexec/arch/ppc/kexec-elf-rel-ppc.c')
-rw-r--r-- | kexec/arch/ppc/kexec-elf-rel-ppc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kexec/arch/ppc/kexec-elf-rel-ppc.c b/kexec/arch/ppc/kexec-elf-rel-ppc.c index 7aa92db..90a66f4 100644 --- a/kexec/arch/ppc/kexec-elf-rel-ppc.c +++ b/kexec/arch/ppc/kexec-elf-rel-ppc.c @@ -31,6 +31,10 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr), unsigned long r_type, *(uint16_t *)location = value; break; + case R_PPC_ADDR16_HI: + *(uint16_t *)location = (value>>16) & 0xffff; + break; + case R_PPC_ADDR16_HA: /* Sign-adjusted lower 16 bits: PPC ELF ABI says: (((x >> 16) + ((x & 0x8000) ? 1 : 0))) & 0xFFFF. |