llvm-3.9 "new libstdc++ ABI compatibility"

Lawrence Velázquez larryv at macports.org
Fri Sep 2 13:16:17 PDT 2016


> On Sep 2, 2016, at 2:41 PM, René J.V. Bertin <rjvbertin at gmail.com> wrote:
> 
> On Friday September 02 2016 13:45:56 Lawrence Velázquez wrote:
> 
>>> Or is it something that will in fact mostly/only benefit Linux users?
>> 
>> Yes. This is meant to keep Clang compatible with ABI changes to GCC 5.1's libstdc++.
> 
> That's about time ... GCC 6.1 is out ...

My impression is that GCC's own implementation was unstable and buggy and difficult to track.

>> P.S. Incidentally, this implies that g++ 4.x is also ABI-incompatible with libstdc++ 5.1. Have we encountered any issues along these lines?
> 
> Funny enough I haven't noticed any issues with that on Linux

It's possible that MacPorts itself might not see any fallout from this because we've been strongly discouraging port maintainers from using g++ for quite a while.

> at some point I started using GCC 5 (and now GCC 6) without rebuilding my whole system, and haven't run into any issues. Maybe that means that libstdc++ is linked in as a private library and designed in such a way that different versions can be loaded in memory?

Without doing any research, I can't say I know anything about how GCC is packaged on Linux, although we did previously end up with separate libstdc++ dylibs for each GCC port, until Jeremy hacked libgcc together.

It's also possible that 5.1 maintains backward compatibility but breaks forward compatibility.

vq


More information about the macports-dev mailing list