"Skarmander" <in*****@dontmailme.comwrote in message
news:44***********************@news.xs4all.nl...
There's no such thing as "the" ABI for a platform (in contrast to, say,
the register set) except that which is agreed upon by everyone. Unless, of
course, one reverses things and takes up the position that the platform is
*defined* by the ABI, which has its own problems.
I would say that position is the only logical one. Programs are generally
incompatible with libraries using a different ABI, and a "platform" is (in
the real world) a collection of libraries and programs, so for the platform
to be functional it must use a single ABI or provide mechanisms for code
using different ABIs to link (e.g. Win16/32 thunking).
In that sense, Solaris x86, Linux x86, and Windows x86 are all different
"platforms" even though they may be capable of running on the same hardware
and, in some rare cases, using the same application source. I doubt you'd
find too many people claiming those are all the same "platform".
I'm not sure if Linux and the BSDs use the same x86 ABI; I think they do,
but I also know they require special kernel support to run each others'
binaries (though that may be due to syscall, not pure ABI, differences).
S
--
Stephen Sprunk "Stupid people surround themselves with smart
CCIE #3723 people. Smart people surround themselves with
K5SSS smart people who disagree with them." --Aaron Sorkin
--
Posted via a free Usenet account from
http://www.teranews.com