The ABI is totally unprotectable because it only consists of stuffing
unprotectable numbers into registers, or on the stack, and invoking an
interrupt, or similar, by its unprotectable number. You get back unprotectable
numbers, in registers or on the stack. No names are involved. The only thing
that could be protectable is the documentation, typically in the header file,
that tells you what numbers to put where, but the numbers in it are not
protectable, and the names can be arbitrarily changed, as long as they are
something which the programmer can work with. [ Reply to This | Parent | # ]
|
I overlooked an important thing in the parent post.
An ABI is usually not
considered to include and conceptual info about
what the function is supposed
to do in various situations, while that kind of
info is considered part of the
API of the function. So there is a significant
difference.
What Connectix
learned from Sony's BIOS, and needed to reproduce
exactly in their own BIOS to
achieve compatibility, included a lot of this
kind of info. It was not just
the ABI--they copied the full API of the BIOS
functions. [ Reply to This | Parent | # ]
|