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

Re: Processed: Re: Bug#624354: ./xpcshell: error while loading shared libraries: ./libxul.so: R_PPC_REL24 relocation at 0x0f9f0148 for symbol `_restgpr_29_x' out of range

On Thu, Apr 28, 2011 at 12:10:54PM +0200, Mike Hommey wrote:
> On Thu, Apr 28, 2011 at 12:04:42PM +0200, Mike Hommey wrote:
> > Let me write it again:
> > - The R_PPC_REL24 relocations are all over libxul.so on objects that are
> > built -fPIC.
> > - libcrmf.a is also linked into libxul.so, and it also contains
> >   R_PPC_REL24 relocations, but all the objects it contains are built
> >   -fPIC.
> And this is a -Os bug, apparently. Building with -O2 doesn't seem to
> yield these relocations.

That's because the out-of-line prologue/epilogue register save and
restore functions are only used at -Os (they save size). 

Now I believe, but don't quote me on that, that the linker 
should insert a copy of these functions in every shared library 
since these functions have non standard linkage and probably 
would not survive crossing shared library boundaries.

I can see a bug if the shared library text size is above
32M or so (needs several copies of these functions), but
I don't think the libraries are that big.

But I may be completely wrong on the last 2 paragraphs.


Reply to: