From 8fa8f5026aa1021c3e7249f11b8af64147a294c6 Mon Sep 17 00:00:00 2001 From: Michael Cree Date: Sat, 24 Jun 2017 13:37:02 +1200 Subject: [PATCH] alpha: support R_ALPHA_REFLONG relocations for module loading Since commit 5a2a7bbe2f7dcee8a8 (modversions: treat symbol CRCs as 32 bit quantities) R_ALPHA_REFLONG relocations can be required to load modules. This implements it. Tested-by: Bob Tracy Reviewed-by: Richard Henderson Signed-off-by: Michael Cree Signed-off-by: Matt Turner --- arch/alpha/kernel/module.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c index 936bc8f89a679..47632fa8c24e0 100644 --- a/arch/alpha/kernel/module.c +++ b/arch/alpha/kernel/module.c @@ -181,6 +181,9 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, switch (r_type) { case R_ALPHA_NONE: break; + case R_ALPHA_REFLONG: + *(u32 *)location = value; + break; case R_ALPHA_REFQUAD: /* BUG() can produce misaligned relocations. */ ((u32 *)location)[0] = value; -- 2.39.5