This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ACCUMULATE_OUTGOING_ARGS and the i386
- To: John Wehle <john at feith dot com>, law at cygnus dot com
- Subject: Re: ACCUMULATE_OUTGOING_ARGS and the i386
- From: Michael Meissner <meissner at cygnus dot com>
- Date: Wed, 21 Oct 1998 16:52:20 -0400
- Cc: jfc at mit dot edu, egcs at cygnus dot com
- References: <199810201735.NAA02876@jwlab.FEITH.COM>
On Tue, Oct 20, 1998 at 01:35:43PM -0400, John Wehle wrote:
> > I can't think of any reason off the top of my head why this would be all that
> > difficult. ACCUMULATE_OUTGOING_ARGS does not change the calling conventions
> > in any incompatible manner that I'm aware of.
>
> The one thing which caught my attention is the following tm.texi paragraph:
>
> Defining both @code{PUSH_ROUNDING} and @code{ACCUMULATE_OUTGOING_ARGS}
> is not proper.
>
> The i386 port defines PUSH_ROUNDING and actually pushes a halfword
> when it pushes a byte. What does ACCUMULATE_OUTGOING_ARGS do in
> this situation? Is there a compatibility problem?
Since ACCUMULATE_OUTGOING_ARGS never does a push, it doesn't matter (ie, the
whole point of A_O_A is that it builds the stack frame once, and then does
stores to copy the arguments instead of pushes).
--
Michael Meissner, Cygnus Solutions (Massachusetts office)
4th floor, 955 Massachusetts Avenue, Cambridge, MA 02139, USA
meissner@cygnus.com, 617-354-5416 (office), 617-354-7161 (fax)