Xref: utzoo comp.sys.mips:397 comp.sys.dec:2410 Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!mips!apple!rutgers!ucsd!ames!ncar!boulder!grunwald From: grunwald@foobar.colorado.edu (Dirk Grunwald) Newsgroups: comp.sys.mips,comp.sys.dec Subject: Re: ANSI-C style variadic functions on MIPS Message-ID: <15370@boulder.Colorado.EDU> Date: 5 Jan 90 17:53:44 GMT References: <1990Jan5.085205.12473@athena.mit.edu> Sender: news@boulder.Colorado.EDU Reply-To: grunwald@foobar.colorado.edu Organization: University of Colorado at Boulder Lines: 10 In-reply-to: raeburn@athena.mit.edu's message of 5 Jan 90 08:52:05 GMT You might want to check the documentation for the Gnu C compiler; it documents a little state machine that implements the MIPS convention. Also, check stdarg.h & the version of varargs for the mips (va-mips.h). recall that the mips calling convention always allocates 4 words on the frame. In general, if you're going to pass varidic args to something like printf, the ``varargs'' package flushs the registers to memory. I think this also happens if you take the address of an argument.