Subject: softfloat on powerpc and va_arg
To: None <tech-toolchain@netbsd.org>
From: Simon Burge <simonb@wasabisystems.com>
List: tech-toolchain
Date: 05/15/2001 23:49:52
I've tracked down a problem with stdargs and softfloat on powerpc to
the va_arg macro in <powerpc/stdarg.h> expecting floats & doubles to
be in the standard floating point register locations of the argument
storage area instead of the general purpose register locations as they
are when compiled with -msoft-float.

The original gcc va-ppc.h header copes with this by checking for the
_SOFT_FLOAT define and changing where to look for floating point values
accordingly.

So, to fix this I'd like to add

	%{msoft-float: -D_SOFT_FLOAT}

to the CPP_SPEC for NetBSD, and check this and do the right thing in
<powerpc/stdarg.>.  This is the same as the sysv powerpc behaviour.
Any objections to this?

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD CDs, Support and Service:    http://www.wasabisystems.com/