FreeBSDで完全にBSDライセンスのC++ランタイムが揃う

地味にニュースな気がするのに全然話題になってないような。。

従来、C++のランタイムはGPLなlibstdc++が使われていたが、今回libc++がそれなりに(test suiteでは本家のDarwinより優秀に)portされた。これにより、libc++ + libcxxrt + libunwindの組み合わせを使うことで、GPLフリーのC++ランタイム環境が作れるようになった。
FreeBSD 9には間に合わないので、FreeBSD 10あたりで導入される予感。
実はこのportよりも早く個人的に検証は進めていて、moshがこの組み合わせでほぼ正常に動作することは検証済だったりする。threadを作ると死ぬことがあったが、これは http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-September/017328.html で指摘されているように、libunwindとlibgcc_sの両方をリンクしていることに因る。この2つは両方ともunwindの実装を持っているので、両方リンクすると事件が起こる。
最後に残った大きなパートはld(リンカ)で、今のところbinutils以外に有力な実装が無い。Solarisのldを推す声も有るが。。