Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: xserver support for bebox and prep

KIYOHARA Takashi wrote:

> However startx(8) fails.  I see this error message in /var/log/XFree86.0
> .log on bebox and prep.  ('offset' is different)
>  Fatal server error:
>  R_PPC_REL24 PLT offset 1095c6c8 too large

I don't know precisely how Xserver is working, but I guess it uses an internal
ELF loader to be able to load and relocate all the "modules" (drivers, e.g.
"ati_drv.o") it needs.

So the first question would be: can you determine which module fails
loading/relocating? From your log it looks like "Module xf1bpp" is the last
one mentioned before the error.

R_PPC_REL24 is the usual relocation type for branch instructions, which
allows you do branch forward and backward into memory by 26 bits (+/- 32 MB).
Looks like this module was loaded at an address which is too far away from
the Xserver to branch to it:

R_PPC_REL24 fbPictureInit   secp=ef6a2000   symval=186f120  dest32=ef6a3938 
*dest32=48000001    S+A-P=121cb7e8  R_PPC_REL24 offset 121cb7e8 too large
PLT offset is 1095c6c8

Fatal server error:
R_PPC_REL24 PLT offset 1095c6c8 too large

More than 256MB too far! IIRC "USE_JEMALLOC=no" usually fixed that. So... I
don't know why your malloc() returns pointers to memory which is so far

Or maybe the problem is that the symbols (e.g. fbPictureInit) are not
defined at all, and calculating with 0-pointers leads to those values...?

Sorry, I'm just guessing. :|

    _  Frank Wille (frank%phoenix.owl.de@localhost)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer

Home | Main Index | Thread Index | Old Index