[ppc64] newer gcc breaks kernel build?

Kyle McMartin kmcmartin at redhat.com
Thu Sep 17 19:25:51 UTC 2009


On Thu, Sep 17, 2009 at 09:04:33PM +0200, Jakub Jelinek wrote:
> On Thu, Sep 17, 2009 at 01:44:42PM -0400, Kyle McMartin wrote:
> > - fix ppc/ppc64 -mmultiple and out of line gpr/fpr saving bugs
> >   (#519409, PR target/40677, PR target/41175)
> > 
> > My guess is this has broken the kernel build on powerpc64:
> > init/built-in.o: In function `arch_disable_smp_support':
> > /builddir/build/BUILD/kernel-2.6.31/linux-2.6.31.ppc64/init/main.c:139: undefined reference to `._savegpr0_31'
> > /builddir/build/BUILD/kernel-2.6.31/linux-2.6.31.ppc64/init/main.c:139: undefined reference to `._restgpr0_31'
> > 
> > by generating calls to out of line handlers, which are only supplied for
> > PPC32 in arch/powerpc/lib/.
> > 
> > Any thoughts? If it's not this, it must have been something hitting rawhide
> > between:
> > 2009-09-16 22:06:38	and
> > 2009-09-17 15:25:47
> 
> For 64-bit code it is ld that is supposed to synthetize those symbols on the
> fly.  gcc uses them (newly, starting with gcc 4.5 as of a few days ago
> upstream and gcc-4.4.1-14 in rawhide) even for 64-bit code when -Os, as the
> out of line savers/restorers are smaller than inline register
> saving/restoring.
> 

Ah, so it's a binutils bug? (Sorry, the only reason I fingered gcc was because
binutils hadn't been updated recently.)

Would a workaround be to switch ppc64 back to -O2 until ld is fixed?

regards, Kyle




More information about the Fedora-kernel-list mailing list