Bug in module loading system on x86-64?

Stuart Anderson anderson at netsweng.com
Fri Oct 1 11:57:22 PDT 2004


On Fri, 1 Oct 2004, Kendall Bennett wrote:

> Now normally this should not be a problem, but it caused major issues
> with the module loader, specifically when resolving symbols. When we
> tried to load either the DDC module or later the framebuffer module when
> we disabled the DDC module, none of the symbols were resolved correctly
> and as soon as tried to call any of the functions within the module the X
> server crashed (the pointers were basically bogus).


Were some of these relocation 32 bit? Once memory starts getting
allocated from beyond 4G, 32 bit relocation just aren't big enough. I
saw something like this a long time ago on a PPC, which has a 24 bit
offset jump instruction, but the modules were being loaded more than 24
bits apart. This was fixed by creating a small code stub to jump into,
which then did a full 32 bit jump to the destination. I bet something
similar could be done here if in fact this turns out to be the problem.


                                Stuart

Stuart R. Anderson                               anderson at netsweng.com
Network & Software Engineering                   http://www.netsweng.com/
1024D/37A79149:                                  0791 D3B8 9A4C 2CDC A31F
                                                 BD03 0A62 E534 37A7 9149



More information about the xorg mailing list