summaryrefslogtreecommitdiff
path: root/kexec/arch/ppc64
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2016-02-26 18:03:11 +1100
committerSimon Horman <horms@verge.net.au>2016-03-24 13:59:57 +0900
commit4a2ae3a39c64dc43e9d094be9541253234ff4822 (patch)
treee8f88ea2978b506a63a5918c47c7d422ec22309d /kexec/arch/ppc64
parent75f7bc488432eb70aab052cc7c83a5cd7555dd3f (diff)
Pass struct mem_sym into machine_apply_elf_rel()
On PowerPC64 ABIv2 we need to look at the symbol to determine if it has a local entry point. Pass struct mem_sym into machine_apply_elf_rel() so we can. Signed-off-by: Anton Blanchard <anton@samba.org> Tested-by: Dave Young <dyoung@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/ppc64')
-rw-r--r--kexec/arch/ppc64/kexec-elf-rel-ppc64.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
index 9b191d0..8604c4f 100644
--- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
+++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
@@ -63,8 +63,9 @@ static void do_relative_toc(unsigned long value, uint16_t *location,
*location = (*location & ~mask) | (value & mask);
}
-void machine_apply_elf_rel(struct mem_ehdr *ehdr, unsigned long r_type,
- void *location, unsigned long address, unsigned long value)
+void machine_apply_elf_rel(struct mem_ehdr *ehdr, struct mem_sym *sym,
+ unsigned long r_type, void *location, unsigned long address,
+ unsigned long value)
{
switch(r_type) {
case R_PPC64_ADDR32: