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

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: