On Thu, Apr 28, 2011 at 12:16:46PM +0200, Mike Hommey wrote: > 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
And a smaller testcase exhibiting the problem: extern int bar(); int foo() { return bar(); } -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110428102718.gb10...@glandium.org