LSB 2.0 and C++
Posted Aug 5, 2004 10:43 UTC (Thu) by
nathan (subscriber, #3559)
Parent article:
LSB 2.0 and C++
To interoperate C++ programs one needs to define two things, the core
C++ ABI and the standard library ABI. The former has a vendor neutral
standard, which g++ implements (with varying degrees of conformance),
starting with gcc 3.0. You should think of the library as a system
library of the same nature as libc. The library has no vendor neutral
ABI standard, and is part of what LSB is attempting to standardize.
Sometimes 'C++ ABI' is used to refer to the core language ABI (I do
that), but in this discussion we're refering to the library's internals
too.
g++ 3.4 deliberately changed the core and library ABIs. The core
ABI was changed because implementation bugs were found which broke
cross vendor compatibility or generated incorrect code. The library
ABI was changed to be more efficient (that's the gist of what I
understand there). Going forward from 3.4 there is every intention of
maintaining a stable ABI.
ABI patches are not small. They can have far reaching consequences
-- which is part of the reason the ABI drifted between 3.2 and 3.3.
I have no desire to spend effort maintaining 3.3, there are better
things to do with my time.
(
Log in to post comments)