Re: Where is it written?

From: H. Peter Anvin (hpa@zytor.com)
Date: Fri Nov 10 2000 - 20:10:00 EST


Followup to: <20001110192751.A2766@munchkin.spectacle-pond.org>
By author: Michael Meissner <meissner@spectacle-pond.org>
In newsgroup: linux.dev.kernel
>
> Generally with ABIs you don't want to mess with it (otherwise you can't be
> guaranteed that a library built by somebody else will be compatible with your
> code, without all sorts of bits in the e_flags field). It allows multiple
> compilers to be provided that all interoperate (as long as they follow the same
> spec).
>
> Don't get me wrong -- in my 25 years of compiler hacking, I've never seen an
> ABI that I was completely happy with, including ABI's that I designed myself.
> ABIs by their nature are a compromise. That particular ABI was short sighted
> in that it wants only 32-bit alignment for doubles, instead of 64-bit alignment
> for instance, and also doesn't align the stack to higher alignment boundaries.
>

We can mess with the ABI, but it requires a wholescale rev of the
entire system. We have had such revs before -- each major rev of libc
is one -- but they are incredibly painful. However, if we find
ourselves in a situation where there are enough reasons to introduce
libc.so.7 then perhaps looking at some revs to the ABI might be in
order -- passing arguments in registers and aligning the stack to 64
bits probably would be the main items.

        -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:18 EST