Odp: Re: AlphaCore 2.0 vs. AlphaServer 4100

Michal Jaegermann michal at ellpspace.math.ualberta.ca
Fri Mar 24 23:19:39 UTC 2006


On Sat, Mar 25, 2006 at 01:55:32AM +0300, Sergey Tikhonov wrote:
> pawel.oleksiak at rieberson.no wrote:
> 
> >Witam / Hello
> >
> >Will you prepare ISO of AC2.0 with this update ?
> > 
> >
> Yes, as soon as I figure out what to do with famost "Relocation" problem 
> with modules on Alpha.

By any chance this will not be the following (I got that a long
time ago with an obvious white-space damage so if this cast is
really missing then it has to be added with an editor)?

---------------------------

On Mon, Jan 05, 2004 at 02:21:37AM +0100, Måns Rullgård wrote:
> I compiled Linux 2.6.0 for Alpha, and it mostly works, except the
> somewhat large modules. They fail to load with the message
> "Relocation overflow vs section 17", or some other section number.

This failure happens with GPRELHIGH relocation, which is *signed*
short, but relocation overflow check in module.c doesn't take into
account the sign extension.
Appended patch should help.

Ivan.

--- 2.6/arch/alpha/kernel/module.c Wed May 28 01:05:20 2003
+++ linux/arch/alpha/kernel/module.c Mon Aug 11 23:23:02 2003
@@ -259,7 +259,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,
*(u64 *)location = value;
break;
case R_ALPHA_GPRELHIGH:
- value = (value - gp + 0x8000) >> 16;
+ value = (long)(value - gp + 0x8000) >> 16;
if ((short) value != value)
goto reloc_overflow;
*(u16 *)location = value;

---------------------------

I would think that this was applied a long time ago but maybe
not?  I cannot check at this moment.

Another old change which could be relevant was also for kernel/module.c
but if you see there the following comment:

     /* Skip relocations on non-allocated (ie. debug) sections */

then most likely it means that it is there.

    Michal




More information about the axp-list mailing list