Removing default build of gcc

David Chisnall theraven at FreeBSD.org
Sat Jan 26 10:24:15 UTC 2013


On 25 Jan 2013, at 19:59, Konstantin Belousov wrote:

> I am really tired of the constant struggle against the consumation of
> the FreeBSD as the test-bed for the pre-alpha quality software. E.g.,
> are we fine with broken C++ runtime in 9 ?

Please can you stop the FUD here?  It really isn't helpful.  We have a working C++ runtime in 9.1: libcxxrt.  In fact, we have a working C++11 stack in 9.1, with the combination of libcxxrt, libc++, and clang++.  Unfortunately, the filter library configuration for libsupc++ left some symbols in the wrong symbol version (the ABI library version instead of the STL library version) and so there are some issues in corner cases[1], which I am working on fixing.  I have a fix for the most common corner cases, but I want to make sure that I have caught all of them before I commit.  This will happen tomorrow.

The filter library is very important to have working for 10.0, because we will need the ports and compat versions of libstdc++ to use it if we want to be able to mix code that uses libstdc++ (i.e. any ports that don't work correctly with libc++) and libc++ (i.e. any ports that use C++11, which is going to be an increasing number over the next few years).  

David

[1] In particular, terminate handlers are not correctly set, and exceptions thrown from the runtime library are not of the expected type.  This means that C++ code that calls std::set_terminate() will not work and neither will code that calls __cxa_bad_alloc() and friends and then tries to catch the resulting exception.  The only code I have seen that actually does this is a test case that I wrote for libcxxrt.  In general, code encountering either of these problems is already in a very broken state and the only difference you will see is a less helpful error message before it crashes.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20130126/417e1fa8/attachment.sig>


More information about the freebsd-toolchain mailing list