Odp: Re: AlphaCore 2.0 vs. AlphaServer 4100

Sergey Tikhonov tsv at solvo.ru
Fri Mar 24 23:36:22 UTC 2006


Michal Jaegermann wrote:

>>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.
>  
>
Yes, this one is applied.
There are other relocation problems related to "per_cpu data" reference 
ipv6 module (this easily fixed by compiling module in).
Another one I got today while testing qboot3 iso image with recent fixes 
to kernel. It is "cramfs" module and relocation type is
R_ALPHA_LITERAL. It seems it depens on size of .text and .data sections 
plus where .got section is allocated. I am still trying
to understand all of this.

Regards,
Sergey.




More information about the axp-list mailing list