diff options
author | M. Mohan Kumar <mohan@in.ibm.com> | 2009-08-10 19:44:42 +0530 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2009-08-13 09:18:27 +1000 |
commit | b45bdabadd1b81777abea001ea7363a430f9e652 (patch) | |
tree | a22ee04edc3a711b1a32cb199752654e729f0205 | |
parent | 3e804a5792dbf3c237789de8d6a86ffffca8e084 (diff) |
Support R_PPC64_REL32 relocation type
[PATCH 2/2] Support R_PPC64_REL32 relocation type
gcc-4.4 compiler creates R_PPC64_REL32 relocation type in the ppc64
purgatory code. Add support to handle R_PPC64_REL32 relocation type.
Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | kexec/arch/ppc64/kexec-elf-rel-ppc64.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c index 80543af..97aa34c 100644 --- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c +++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c @@ -62,6 +62,10 @@ void machine_apply_elf_rel(struct mem_ehdr *ehdr, unsigned long r_type, *(uint64_t *)location = value; break; + case R_PPC64_REL32: + *(uint32_t *)location = value - (uint32_t)location; + break; + case R_PPC64_TOC: *(uint64_t *)location = my_r2(ehdr); break; |