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 11:17:34AM +0200, Michel Dänzer wrote:
> On Don, 2011-04-28 at 10:45 +0200, Mike Hommey wrote:
> > On Thu, Apr 28, 2011 at 10:15:00AM +0200, Mike Hommey wrote:
> > > On Thu, Apr 28, 2011 at 10:06:01AM +0200, Mike Hommey wrote:
> > > > On Thu, Apr 28, 2011 at 10:00:09AM +0200, Matthias Klose wrote:
> > > > > On 04/28/2011 09:57 AM, Mike Hommey wrote:
> > > > > >Take the build log, remove all lines without -fPIC, you'll only get
> > > > > >lines for building binaries and objects that aren't linked into
> > > > > >libxul.so. QED.
> No possibility of e.g. a static library being linked into a shared
None from the iceweasel source, at least.
> > > > > shows nothing at all, and in particular no reason for the reassignment.
> > > >
> > > > Another data point that I gave before: 3.5.17-1 built just fine, but
> > > > 3.5.18-1 didn't. And attached here is the diff between both versions,
> > > > since you don't trust the maintainer telling you that the switch in the
> > > > toolchain is the likely culprit.
> > > >
> > > > But, yeah, it's just easier to dismiss toolchain bugs.
> The R_PPC_REL24 relocations may happen to work sometimes (possibly most
> of the time).
> > > I'll also add that the symbol for which the relocation is failing,
> > > _restgpr_29_x, comes from gcc, in gcc/config/rs6000/crtresxgpr.asm.
> > > But you're right, it's most probably not a toolchain problem.
> > Even better, if I download xulrunner-1.9.1_126.96.36.199-1_powerpc.deb and
> > take a look at the relocations in libxul.so, I can't even find the
> > relocation ld.so is complaining about.
> How did you look?
> daenzer@thor|11:11:06> objdump -R /usr/lib/xulrunner-1.9.1/libxul.so|grep R_PPC_REL24
> 0033faa0 R_PPC_REL24 _restgpr_29_x
> 0033fdc0 R_PPC_REL24 _restgpr_29_x
> 0033fea0 R_PPC_REL24 _restgpr_29_x
> 47132 hits.
And none of the offsets match the end of the relocation address ld.so is
Now, for something interesting, LD_DEBUG=all says this:
binding file ./libxul.so  to /usr/lib/libstartup-notification-1.so.0 : normal symbol `_restgpr_29_x'
just before failing, and it (obviously) fails on the first of these