ABI 4?

Ken Cunningham ken.cunningham.webuse at gmail.com
Mon Mar 26 00:05:48 UTC 2018


On 2018-03-25, at 4:46 PM, Ryan Schmidt wrote:

> 
> On Mar 25, 2018, at 15:56, Kenneth F. Cunningham wrote:
> 
>> To fully comply with the c++11 standard, two library calls (copy-on-write strings, and std::list) had to be changed in a way that was incompatible with the older ABI 4 version. A number of other library calls use these two calls, so a number of other library calls are affected. 
> 
> So. If we compile C++11 software using -D_GLIBCXX_USE_CXX11_ABI=0, as we do in the cxx11-1.1 portgroup, are we building software that does not fully comply with the C++11 standard?

yes we are --  but it works, and in a compatible way with the older ABI. Hitting the fringes of my knowledge now.

> If so, what are the consequences of that?
> 

So far nothing has been noticed. I think it's "internally consistent".

However, this is why having +defaultabi4 as an option for libgcc was possibly useful, so somebody could turn it off if they wanted to (although - realistically - nobody would I bet).

K



More information about the macports-dev mailing list