samedi 2 janvier 2016

Understanding GCC 5's _GLIBCXX_USE_CXX11_ABI or the new ABI

http://ift.tt/1DmIY06

I ran into crashing/valgrind issues with using std::string on GCC 5. The above link hints that there is a change in the ABI starting GCC 5.x. The new default ABI for libstd++ is C++11/14... which is not compatible with the older ABI. There is a way to select the older ABI using a define.

I am trying to understand what is the difference between the ABIs and haven't found details. I'd like help understanding: 1. What kind of issues with std::string need to be fixed to be compatible with the new ABI? Are they copy-on-write related? 2. Will those changes break it for older ABI? 3. Any tips in getting _GLIBCXX_USE_CXX11_ABI to work?

Aucun commentaire:

Enregistrer un commentaire