This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PowerPC long double stdarg breakage
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: amodra at bigpond dot net dot au (Alan Modra)
- Cc: gcc-patches at gcc dot gnu dot org, dje at watson dot ibm dot com (David Edelsohn)
- Date: Wed, 19 Apr 2006 22:13:51 -0400 (EDT)
- Subject: Re: PowerPC long double stdarg breakage
>
> 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