gcc 3.0's bool type on solaris

Alexandre Oliva aoliva@redhat.com
Sat Jul 28 20:22:00 GMT 2001


On Jul 27, 2001, David Durham <david.durham@wcom.com> wrote:

> What's ABI and can it be easily changable (then a recompile)?

ABI stands for Application Binary Interface.  It's the set of rules
that determine how big each type is and how it is aligned, how to
place fields in structures and classes, how to pass arguments to
functions, how to return values, how the stack is aligned, etc.  Each
platform/OS defines its own ABI, but, in general, Unix ABIs specify
rules only for the C language.  Recently, a multi-vendor committee was
formed to design a C++ ABI that would extend each OS's C ABI,
specifying the details of how C++ features not present in C should be
implemented, in an OS-, compiler- and architecture-independent way, as
much as possible (there are a few architecture dependencies, though).

That said, it is possible to modify an ABI, but you have to rebuild
every line of C++ code (including the C++ Standard library) to avoid
binary incompatibilities, and your binaries will be incompatible with
those of any other C++ compiler that complies with the multi-vendor
C++ ABI, so you'd better avoid it.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me



More information about the Gcc-help mailing list