Re: prelink does not work correctly on powerpc
On Sat, Oct 11, 2003 at 06:17:13PM +0200, Smurf wrote:
> Hi,
>
> > mplayer: error while loading shared libraries: /usr/lib/libavcodec.so.0.4.8:
> > R_PPC_REL24 relocation at 0x0fe3d560 for symbol fwrite' out of range
> >
> Ouch. REL24 is a three-byte address space, i.e. a maximum range of 64
> MBytes (two bits are saved because of 4-byte alignment).
>
> Therefore, the definitions in src/addr-ppc.c,
>
> #define REG0S 0x0e800000
> #define REG0E 0x10000000
> #define REG1S 0x00040000
> #define REG1E REG0S
> #define REG2S 0x18000000
> #define REG2E 0x30000000
>
> are somewhat broken. (I don't know enough about the internals of the
> prelinker to know which to touch, other than REG1S and REG2E which set
> the mmap range; see the end of this file).
Ehm, no.
There should be no REL24 relocations in a shared library. This is a bug
in libavcodec, which is presumably non-PIC.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: