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:

---8<---
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
---8<---

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
away.

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