This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC compatibility of shared libraries with STL objects in their interface


On Mon, Nov 30, 2015 at 1:13 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 30 November 2015 at 07:23, Robert Fanner wrote:
>>
>> 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.

Thanks!

I was starting to stray from ABI compatibility into the realm of
runtime behavioural compatibility of code. If inlining isn't really an
issue for STL/libstdc++, then I guess it boils down to making sure
inlined code doesn't change private member data state in unexpected
ways across versions.

Rob


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]