Comment 41 for bug 1488254

Revision history for this message
In , Renato Golin (rengolin) wrote :

(In reply to comment #38)
> I said *tagged* return types, i.e. only those which need to break the ABI
> anyway.

Good point. Thanks for the distinction.

> The new ABI requires the full gcc abi-tag support to be compatible with
> gcc. If you compile everything with clang and disable dual ABI support
> you can get away with less, but what is the point? Just use the clang
> libc++ instead, which requires no changes.

I'm afraid it's not that simple. GNU libraries are the default on all Linux (and other) distributions, and mixing libc++ with libstdc++ is bound to create at least as many problems as it solves.

Moreover, FreeBSD had to take many short-cuts to get rid of libstdc++ on the base system, including making symlinks named after GNU libraries and tools to LLVM libraries and tools, and the mapping is NOT 1-to-1. See the libc++ + compiler-rt + libunwind vs. libgcc + libgcc_s + libgcc_eh connundrum.

We need libc++ to work on the supported architectures with and without GNU libraries. Getting rid of the GNU counterparts is out of the question for any practical purpose.