PowerPC long double stdarg breakage

Andrew Pinski pinskia@physics.uc.edu
Thu Apr 20 02:14:00 GMT 2006

> This patch fixes a bug in the new ppc long double support.  On
> powerpc-linux, a long double function arg is not passed split between
> the last fpr and stack:  If there is only one fpr available, the long
> double is passed entirely on the stack, and all following fp args are
> passed on the stack.  rs6000_gimplify_va_arg needs to be taught that
> all the following fp args are stack based.
> I'll apply this as obvious to mainline and 4.1 after performing
> regression tests.
> 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
> 	fp regs if the last fp arg doesn't fit in regs.

Does this also change the Darwin ABI?  (I did not look fully in the
patch but was just wondering).

Also could you add a note to the changes page for both 4.1 and 4.2
about this ABI changing patch.

-- Pinski

More information about the Gcc-patches mailing list