mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Cree <mcree@orcon.net.nz>
To: Helge Deller <deller@gmx.de>
Cc: Bob Tracy <rct@gherkin.frus.com>,
	debian-alpha@lists.debian.org, linux-kernel@vger.kernel.org
Subject: Re: [BUG] alpha: module xxx: Unknown relocation: 1
Date: Wed, 12 Apr 2017 19:36:36 +1200	[thread overview]
Message-ID: <20170412073636.aak7onwt7b4furve@tower> (raw)
In-Reply-To: <127df124-4000-d473-148a-8de03cc48cc9@gmx.de>

[-- Attachment #1: Type: text/plain, Size: 1042 bytes --]

On Wed, Apr 12, 2017 at 07:57:52AM +0200, Helge Deller wrote:
> On 12.04.2017 04:59, Bob Tracy wrote:
> > Bottom line is, no kernel I've built since 4.9 can load a module.  All
> > attempts to load a module result in the error message emitted by
> > "arch/alpha/kernel/module.c" as follows:
> > 
> > module XXX: Unknown relocation: 1
> > 
> 
> I assume it's due this commmit "modversions: treat symbol CRCs as 32 bit quantities":
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71810db27c1c853b335675bee335d893bc3d324b
> 
> For parisc this patch solves it:
> parisc: support R_PARISC_SECREL32 relocation in modules
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5f655322b1ba4bd46e26e307d04098f9c84df764
> 
> > module XXX: Unknown relocation: 1
> 
> For alpha it seems you need to add similar code to handle R_ALPHA_REFLONG
> to apply_relocate_add() in arch/alpha/kernel/module.c

Would the attached patch fix it?  Untested because I don't see the
above issue.

Cheers
Michael.

[-- Attachment #2: alpha-fix-missing-reflong.patch --]
[-- Type: text/x-diff, Size: 486 bytes --]

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;

  reply	other threads:[~2017-04-12  7:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20170410004755.GA22356@gherkin.frus.com>
     [not found] ` <20170410094250.gxcne7imso4u2vjx@tower>
     [not found]   ` <20170411034242.GA27395@gherkin.frus.com>
     [not found]     ` <20170411061232.bchlfc73lqx2z2cy@tower>
     [not found]       ` <20170411215716.GA29795@gherkin.frus.com>
2017-04-12  2:59         ` Bob Tracy
2017-04-12  5:57           ` Helge Deller
2017-04-12  7:36             ` Michael Cree [this message]
2017-04-13  3:46               ` Bob Tracy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170412073636.aak7onwt7b4furve@tower \
    --to=mcree@orcon.net.nz \
    --cc=debian-alpha@lists.debian.org \
    --cc=deller@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rct@gherkin.frus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®