This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: mips va_arg question
- From: "Dave Korn" <dk at artimi dot com>
- To: "'Richard Sandiford'" <rsandifo at redhat dot com>,"'Mile Davidovic'" <mdavidyu at yahoo dot com>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Thu, 12 Aug 2004 13:45:56 +0100
- Subject: RE: mips va_arg question
> -----Original Message-----
> From: gcc-owner On Behalf Of Richard Sandiford
> Sent: 12 August 2004 13:34
> To: Mile Davidovic
>
> Mile Davidovic writes:
> > Passing of double to function with variable number of
> > arguments is over stack, and va_arg inside of function
> > with variable number of arguments suppose that sp
> > could be divided by 8.
>
> Yes. The ABIs say that sp must be divisible by 8[*]. If it isn't
> for you then something is very wrong. Where's the misaligned sp
> coming from?
From his own inline asm. That doesn't even mention sp in the clobber
list.
> -----Original Message-----
> From: gcc-owner On Behalf Of Mile Davidovic
> Sent: 12 August 2004 12:02
> Here is small sample:
> test(1, 2, 3, 4.56,5,6);
> asm("addiu $29, $29, -4"); // SP isn't multiple of 8
> test(1, 2, 3, 4.56,5,6);
Poor little compiler, that's such a mean and nasty trick to play on it!
cheers,
DaveK
--
Can't think of a witty .sigline today....