[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



reassign 624354 gcc-4.5
thanks

On Thu, Apr 28, 2011 at 12:14:41PM +0200, Mike Hommey wrote:
> 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.
> 
> I'm attaching a preprocessed source that yields the problem.
> 
> $ gcc -o encutil.o -Os -fPIC -c encutil.i
> $ readelf -r encutil.o
> 
> Relocation section '.rela.text' at offset 0x478 contains 4 entries:
>  Offset     Info    Type            Sym.Value  Sym. Name + Addend
> 0000004e  000005fc R_PPC_REL16_HA    00000000   .got2 + 8012
> 00000052  000005fa R_PPC_REL16_LO    00000000   .got2 + 8016
> 0000006c  00000b12 R_PPC_PLTREL24    00000000   SEC_ASN1Encode_Util + 8000
> 0000007c  00000c0a R_PPC_REL24       00000000   _restgpr_30_x + 0
> 
> Relocation section '.rela.got2' at offset 0x4a8 contains 1 entries:
>  Offset     Info    Type            Sym.Value  Sym. Name + Addend
> 00000000  00000901 R_PPC_ADDR32      00000000   crmf_encoder_out + 0
> 
> $ gcc -o encutil.o -O2 -fPIC -c encutil.i
> $ readelf -r encutil.o
> 
> Relocation section '.rela.text' at offset 0x480 contains 3 entries:
>  Offset     Info    Type            Sym.Value  Sym. Name + Addend
> 0000005a  000005fc R_PPC_REL16_HA    00000000   .got2 + 8022
> 0000005e  000005fa R_PPC_REL16_LO    00000000   .got2 + 8026
> 00000078  00000b12 R_PPC_PLTREL24    00000000   SEC_ASN1Encode_Util + 8000
> 
> Relocation section '.rela.got2' at offset 0x4a4 contains 1 entries:
>  Offset     Info    Type            Sym.Value  Sym. Name + Addend
> 00000000  00000901 R_PPC_ADDR32      00000000   crmf_encoder_out + 0
> 

And with gcc-4.4:
$ gcc-4.4 -o encutil.o -Os -fPIC -c encutil.i
$ readelf -r encutil.o

Relocation section '.rela.text' at offset 0x474 contains 3 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
0000005a  000005fc R_PPC_REL16_HA    00000000   .got2 + 8022
0000005e  000005fa R_PPC_REL16_LO    00000000   .got2 + 8026
00000078  00000b12 R_PPC_PLTREL24    00000000   SEC_ASN1Encode_Util + 8000

Relocation section '.rela.got2' at offset 0x498 contains 1 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
00000000  00000901 R_PPC_ADDR32      00000000   crmf_encoder_out + 0


Reply to: