This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PowerPC long double stdarg breakage
On Wed, Apr 19, 2006 at 10:13:51PM -0400, Andrew Pinski wrote:
> >
> > 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).
No, it only affects ABI_V4.
> Also could you add a note to the changes page for both 4.1 and 4.2
> about this ABI changing patch.
This isn't an ABI changing patch. The ABI change happened with 4.1
supporting IBM extended long double on 32-bit powerpc-linux. This
patch merely fixes a bug.
--
Alan Modra
IBM OzLabs - Linux Technology Centre