Re: [ppc64] newer gcc breaks kernel build?
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. Jakub ___ Fedora-kernel-list mailing list Fedora-kernel-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-kernel-list
Re: [ppc64] newer gcc breaks kernel build?
On Thu, Sep 17, 2009 at 03:25:51PM -0400, Kyle McMartin wrote: 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.) I've noticed the dot in front of the symbol, is kernel using still the for years deprecated oldish ppc64 ABI instead of the new one (i.e. uses -mcall-aixdesc instead of not using this option at all)? Maybe it is broken only in that case. Would a workaround be to switch ppc64 back to -O2 until ld is fixed? Sure, at -O2 those aren't emitted. Jakub ___ Fedora-kernel-list mailing list Fedora-kernel-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-kernel-list
Re: [ppc64] newer gcc breaks kernel build?
On Thu, Sep 17, 2009 at 09:31:52PM +0200, Jakub Jelinek wrote: I've noticed the dot in front of the symbol, is kernel using still the for years deprecated oldish ppc64 ABI instead of the new one (i.e. uses -mcall-aixdesc instead of not using this option at all)? Maybe it is broken only in that case. arch/powerpc/Makefile: CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc Seems to... :/ Would a workaround be to switch ppc64 back to -O2 until ld is fixed? Sure, at -O2 those aren't emitted. Groovy, I just kicked off a build with CC_OPTIMIZE_FOR_SIZE unset on ppc64, and it seems to have made it farther. Thanks! Kyle Jakub ___ Fedora-kernel-list mailing list Fedora-kernel-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-kernel-list ___ Fedora-kernel-list mailing list Fedora-kernel-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-kernel-list
Re: [ppc64] newer gcc breaks kernel build?
On Thu, Sep 17, 2009 at 09:31:52PM +0200, Jakub Jelinek wrote: I've noticed the dot in front of the symbol, is kernel using still the for years deprecated oldish ppc64 ABI instead of the new one (i.e. uses -mcall-aixdesc instead of not using this option at all)? Maybe it is broken only in that case. It would be nice if -mcall-aixdesc were even in the GCC manual. ___ Fedora-kernel-list mailing list Fedora-kernel-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-kernel-list