On Thu, Feb 07, 2013 at 10:11:02AM +0100, Richard Biener wrote: > On Thu, Feb 7, 2013 at 9:45 AM, Alan Modra <amo...@gmail.com> wrote: > > I think this one counts as obvious, but I'll ask for permission anyway. > > Bootstrapped etc. powerpc-linux. OK everywhere? > > Isn't there a way to just disable the out-of-line register save/restore > functions? Adding -O2 looks odd.
There isn't. See rs6000.c:rs6000_savres_strategy. I should note too that using -O2 (anything but -Os) is only a solution for powerpc ELF. powerpc-darwin may not be susceptible to the bug, but if it is then some changes will be needed in rs6000_savres_strategy. AIX doesn't have a problem here since it always uses inline gpr saves/restores. Also, powerpc64 targets using GNU ld or gold don't have a problem with crtend.o calling save/restore functions as the linker creates these functions. -- Alan Modra Australia Development Lab, IBM