[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS: cvs.openbsd.org: src



CVSROOT:	/cvs
Module name:	src
Changes by:	miod_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org	2004/06/09 17:08:19

Modified files:
	sys/arch/m88k/include: va-m88k.h 

Log message:
Among other tricky (or nice, depending upon your involvment) features,
the 88Open ABI allows arguments to be passed through registers, then on
the stack, the through registers, then on the stack again, with some
function signatures.

Unfortunately, gcc has not been designed with this possibility in mind,
and does not handle this situation optimally (since no sane architecture
does this anyway) and will reserve stack storage for the second set of
in-registers parameters.

Fixing this is quite non-trivial (trust me on this), so in the meantime
keep at wasting space stack, but teach varargs about this so that it can
compensate correctly.