Opened 16 months ago
Last modified 16 months ago
#18479 new bug
Modern GCC ABI compatibility for non-x86 architectures
Reported by: | pulkomandy | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
We currently build gcc with --with-default-libstdcxx-abi=gcc4-compatible for all architectures.
There was a compatibility change in gcc5 in order to be compliant with newer C++ standard versions, IIRC it is a change to include a length field in std::string objects, so that the size() function is fast (in previous versions of gcc, it used to do an strlen()).
It is possible to select one or the other ABI using some command line flags at runtime, but we currently switch the default to be compatible with gcc4. Maybe we should consider doing this only for x86 architectures, and use the new ABI by default on all architectures. At least we should settle this before we start making official builds for other architectures, and it is easier to do before we get too far into bootstrapping them.
Or better move to LLVM
libc++.so
.