FreeBSD Daily Topics

2009年10月15日FreeBSDステータスレポート200904-09 その2 - LLVM Clangへの置き換え、RFC3465 - TCP Congestion Control with Appropriate Byte Counting対応、BSDライセンスext2fs、FreeBSD Geckoプロジェクト

heads-up

FreeBSD Quarterly Status Report 2009Q2-Q3

report - 2009年4月から9月までの6ヶ月間に実施されたプロジェクト報告がFreeBSD Quarterly Status Reportとして発表されました。次に興味深いトピックを紹介します。

Clang replacing GCC in the base system

FreeBSDシステムをLLVM Clangでビルドできるようにする取り組みが進められています。現状は次のとおりと報告されています。

  • i386 - カーネルは起動する、システムは動くようにするために若干のハックが必要
  • amd64 - カーネルは起動する、システムは動くようにするために若干のハックが必要
  • ppc - 不明なRTLDバグにより動かない
  • その他のアーキテクチャ - まだ試験していない

実施された作業としては次の項目が紹介されています。

  • amd64においてmcmodel=kernelをサポート
  • libgccの置き換え実現のためにcompiler-rtを導入
  • devd.ccがワーニングなしでビルドできるようになる
  • -O2を指定したカーネルが動作

FreeBSDはLLVMを公式にサポートしたプラットフォームになるべく作業を続けており、結果として以前はコンパイルすらできなかった部分の多くが現在では問題なくビルドできるようになっていると報告されています。今後の作業としてlibcとともにコンパイルできるようにLLVMの修正、ARMやPPC、MIPSなどのアーキテクチャの対応などが掲げられています。

FreeBSDはベースシステムにGPLv3で提供されているソースコードを取り込まない方針です。このため、GPLv3に移行したGCCはバージョンアップが止まっており、GCCの最新版は使われていません。LLVMはBSDライセンスで提供されておりFreeBSDプロジェクトとの関係も良好です。今後の主要コンパイラとして注目されます。

Enhancing the FreeBSD TCP Implementation

RFC3465 - TCP Congestion Control with Appropriate Byte CountingのサポートがFreeBSD 8に追加された旨が報告されています。同機能はFreeBSD 8.0-RELEASEに取り込まれています。ただし、8.0-RELEASEに取り込まれたコードはリアセンブリキューの自動調整機能とSIFTRワークが安全に統合されているとは言い難いようで、将来の8-STABLEへ対応パッチの取り込みが実施されるようです。

Ext2fs Status report

FreeBSDのext2fsのコードのいくつかはGPLのもとで提供されていますが、これをBSDライセンスのコードに書き換える作業が進められて来ました。その際、NetBSDのext2fsのコードがとても参考になったという記述があります。今後の作業として、ext2fsのMFSafe化、Ext4サポートの実現、ext2fsに対するディレクトリインデックスの実現、gjournalを使ったext2fsジャーナリングの実現などが掲げられています。

FreeBSD Gecko Project

Geckoレンダリングエンジンやそれらを活用するアプリケーションの移植、整理を実施するFreeBSD Gecko Projectが、現在準備している内容や、今後の作業内容を報告しています。報告されている内容は次のとおりです。

  • すでに5年前のwww/mozillaは古く、すでにサポートも打ちきられている。セキュリティ脆弱性も抱えているため、www/seamonkeyを代わりのプロダクトとし、このportはPorts Collectionから削除する
  • XULライブラリとしてはwww/libxulが新しく導入された。これを受けてwww/xulrunnerとfirefox2のport、flock、nvuなど古いGeckoプロバイダは削除する
  • Firefox 3.5のport (www/firefox35)はwww/firefoxに移動させる
  • Firefox 3.6のportを開発中
  • Thunderbird 3.0のportを開発中
  • libxul 1.9.1.3のportを開発中
  • Seamonkey 2.0のportを開発中

おすすめ記事

記事・ニュース一覧