Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754938AbdFXCNd (ORCPT ); Fri, 23 Jun 2017 22:13:33 -0400 Received: from smtp-2.orcon.net.nz ([60.234.4.43]:39934 "EHLO smtp-2.orcon.net.nz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754550AbdFXCNc (ORCPT ); Fri, 23 Jun 2017 22:13:32 -0400 X-Greylist: delayed 2158 seconds by postgrey-1.27 at vger.kernel.org; Fri, 23 Jun 2017 22:13:31 EDT From: Michael Cree To: linux-kernel@vger.kernel.org Cc: Richard Henderson , Matt Turner , linux-alpha@vger.kernel.org, Michael Cree Subject: [PATCH] alpha: support R_ALPHA_REFLONG relocations for module loading Date: Sat, 24 Jun 2017 13:37:02 +1200 Message-Id: <20170624013702.18225-1-mcree@orcon.net.nz> X-Mailer: git-send-email 2.11.0 X-GeoIP: NZ X-Spam_score: -1.0 X-Spam_score_int: -9 X-Spam_bar: - Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 832 Lines: 26 Since commit 71810db27c1c853b33 (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 Signed-off-by: Michael Cree --- 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 936bc8f89a67..47632fa8c24e 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.11.0