* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox