All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] 64bit kernel & nfs module: Global Offset Table overflow (used 1068, allowed 1023)
@ 2006-10-18 20:03 Helge Deller
  2006-10-18 23:23 ` Matthew Wilcox
  0 siblings, 1 reply; 2+ messages in thread
From: Helge Deller @ 2006-10-18 20:03 UTC (permalink / raw)
  To: parisc-linux

With a 64bit Kernel (git head):

c3000:/home/cvs# modprobe nfs
FATAL: Error inserting nfs (/lib/modules/2.6.19-rc2-pa0/kernel/fs/nfs/nfs.ko): Invalid argument

dmesg says:
nfs: Global Offset Table overflow (used 1068, allowed 1023)


In the source code arch/parisc/kernel/module.c I found:

/* Maximum number of GOT entries. We use a long displacement ldd from
 * the bottom of the table, which has a maximum signed displacement of
 * 0x3fff; however, since we're only going forward, this becomes
 * 0x1fff, and thus, since each GOT entry is 8 bytes long we can have
 * at most 1023 entries */
#define MAX_GOTS        1023

Since I don't have any real idea about GOT and modules in general:
Isn't it possible to increase this number for 64bit kernels ?

Helge
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [parisc-linux] 64bit kernel & nfs module: Global Offset Table overflow (used 1068, allowed 1023)
  2006-10-18 20:03 [parisc-linux] 64bit kernel & nfs module: Global Offset Table overflow (used 1068, allowed 1023) Helge Deller
@ 2006-10-18 23:23 ` Matthew Wilcox
  0 siblings, 0 replies; 2+ messages in thread
From: Matthew Wilcox @ 2006-10-18 23:23 UTC (permalink / raw)
  To: Helge Deller; +Cc: parisc-linux

On Wed, Oct 18, 2006 at 10:03:11PM +0200, Helge Deller wrote:
> With a 64bit Kernel (git head):
> 
> c3000:/home/cvs# modprobe nfs
> FATAL: Error inserting nfs (/lib/modules/2.6.19-rc2-pa0/kernel/fs/nfs/nfs.ko): Invalid argument
> 
> dmesg says:
> nfs: Global Offset Table overflow (used 1068, allowed 1023)
> 
> 
> In the source code arch/parisc/kernel/module.c I found:
> 
> /* Maximum number of GOT entries. We use a long displacement ldd from
>  * the bottom of the table, which has a maximum signed displacement of
>  * 0x3fff; however, since we're only going forward, this becomes
>  * 0x1fff, and thus, since each GOT entry is 8 bytes long we can have
>  * at most 1023 entries */
> #define MAX_GOTS        1023
> 
> Since I don't have any real idea about GOT and modules in general:
> Isn't it possible to increase this number for 64bit kernels ?

We'd need to make the GOT register point 0x2000 above where it currently
does.  Then we could use a signed +0x1fff / -0x2000 offset.

I have no idea how to make this happen.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-18 23:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-18 20:03 [parisc-linux] 64bit kernel & nfs module: Global Offset Table overflow (used 1068, allowed 1023) Helge Deller
2006-10-18 23:23 ` Matthew Wilcox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.