Opened 10 months ago

Last modified 10 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.

Change History (1)

comment:1 by X512, 10 months ago

Or better move to LLVM libc++.so.

Note: See TracTickets for help on using tickets.