tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gcc dual abi



I'm trying to get things loaded back into my head about using newer gcc
on older systems, in a perhaps-delusional hope of making progress on
compiler selection.

I'm running into link errors about __stdcxx11::string, and this is
pretty clearly the dreaded DUAL_ABI.

https://gcc.gnu.org/onlinedocs/gcc-5.2.0/libstdc++/manual/manual/using_dual_abi.html

In searching, it seems that NetBSD base has decided to just use the new,
C++11-compliant ABI, and withdraw the old one.  And it seems that pkgsrc
was going to do this, but I'm not sure if it has.

It seems that while this was new in gcc 5, it remains in newer versions.


So if on an old system -- let's say NetBSD 5 or 6 -- I build gcc5, and
then use that to build everything, should that work?  Absent
intentionally setting _GLIBCXX_USE_CXX11_ABI, would I be getting the new
C++11-compliant ABI or the old, compatible but not compliant ABI?

If I really just want everything to build, and don't care about compat
with old binaries (because I'm going to rebuild everything), is there a
good way to just use the new ABI only, system wide?




Home | Main Index | Thread Index | Old Index