On Nov 2, 2017, at 14:34, Ken Cunningham wrote:

> On Nov 2, 2017, at 12:20 PM, Ryan Schmidt wrote:
> 
>> The part where it allows a port to be compiled with MacPorts libstdc++. Why 
>> is this ok? Didn't we used to have the problem that C++ software compiled 
>> with gcc would crash because it used new gcc libstdc++ but a library it used 
>> was using OS X's old libstdc++? Why is that no longer a problem with this 
>> portgroup?
>> 
> 
> The two libstdc++ versions (gcc4’s and gcc7’s) are similar except in a few 
> small areas, mostly involving string copying.
> 
> The cxx11 1.1 PortGroup passes a flag to gcc7’s libstdc++ to tell it to use 
> the old style of string handling (ABI4), so objects are compatible with the 
> older libstdc++.

Yes, I understand that we're passing -D_GLIBCXX_USE_CXX11_ABI=0 to use the 
"old" string handling. But the "new" string handling was introduced in gcc 5.1. 
We were experiencing crashers from mixing Apple gcc 4.2.1 libstdc++ and 
MacPorts gcc 4.x libstdc++, well before "new" string handling existed. I don't 
understand why that's not still a problem here.

Reply via email to