LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

LSB 2.0 and C++

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)

LSB 2.0 and C++

Posted Aug 6, 2004 12:02 UTC (Fri) by eru (subscriber, #2753) [Link]

Going forward from 3.4 there is every intention of maintaining a stable ABI.

I think I heard the same thing said about 3.0, 3.1, 3.2 ...

I'm beginning to wonder if the goal is even practically attainable, given the nature and complexity of C++ and its library.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds