GCC compatibility of shared libraries with STL objects in their interface

Jonathan Wakely jwakely.gcc@gmail.com
Mon Nov 30 11:13:00 GMT 2015


On 30 November 2015 at 07:23, Robert Fanner wrote:
> Thanks - that's great to know!
>
> Is there more documentation somewhere with respect to how you've gone
> about achieving the high degree of ABI stability (e.g. making sure
> things are inlined/not inlined, data members don't change, memory
> layout stays the same, inheritance doesn't change, etc)? I'd really
> like to learn more.

Inlining doesn't matter.

We just don't change things that affect the ABI, even when that means
we're stuck with a bug that can't be fixed without an ABI change.
Don't change object layout. Don't change virtual table layout.

Occasional mistakes have happened, but we've reverted the changes.



More information about the Libstdc++ mailing list