Re: Where is it written?

From: H. Peter Anvin (hpa@zytor.com)
Date: Sat Nov 11 2000 - 18:30:43 EST


Followup to: <20001111171749.A32100@wire.cadcamlab.org>
By author: Peter Samuelson <peter@cadcamlab.org>
In newsgroup: linux.dev.kernel
>
> [Andrea Arcangeli]
> > Can you think at one case where it's better to push the parameter on
> > the stack instead of passing them through the callee clobbered
> > ebx/eax/edx?
>
> Well it's safer if you are lazy about prototyping varargs functions.
> But of course by doing that you're treading on thin ice anyway, in
> terms of type promotion and portability. So I guess it's much better
> to say "varargs functions MUST be prototyped" and use the registers.
>

It definitely is now. At the time the original x86 ABI was created, a
lot of C code was still K&R, and thus prototypes didn't exist...

>
> AIUI gcc can cope OK with multiple ABIs to be chosen at runtime, am I
> right? IRIX, HP-UX and AIX all have both 32-bit and 64-bit ABIs.
>

I don't think we want to introduce a new ABI in user space at this
time. If we ever have to major-rev the ABI (libc.so.7), then we
should consider this.

        -hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Nov 15 2000 - 21:00:21 EST