Subject: Re: Relocation overflow vs section kernel-2.6.1 for alpha

Hello

I run in this problem too on my alpha sx164 and the patch fix this, so
i can load all the modules without problems.

Please add the patch to the kernel 2.6.x alpha mainline.

Regards
Tom

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;