Linus Torvalds氏、LinuxカーネルをモダンなCに移行する準備中

S 20220223 105122

Linus Torvalds氏が、LinuxカーネルのソースコードのC89規格からC11規格への移行を検討していることがわかりました(ZDNet)。

現在Linuxカーネルは、ANSI X3.159-1989もしくはANSI Cと呼ばれるC言語標準の1989年版「C89」で書かれています。C言語の規格変更への動きの発端となったのは、Linuxカーネルのリンクリスト・プリミティブ投機実行関数のセキュリティ問題の修正で、Linus氏はバグが、C99スタイルの「ループ内での変数宣言」がなかったからだと指摘し、C89からこの種の問題が発生しない、より新しい標準Cへの移行の検討が始まります。

Linuxカーネル開発者のArnd Bergmann氏も移行に同意し、C99よりもさらに新しい2011年に発表されたC11規格に移行することも可能なはずだとコメントしています。C11はC99よりも10年ほど新しく、より安全で、マルチスレッドの標準化がサポートされるなどのメリットもあり、また、Linuxカーネルの最小要件のCコンパイラであるGCC version 5.1もC11をサポートしているからです。

Linus氏は、Linuxカーネル 5.18のマージウィンドウの早い段階で新しい標準を試すとコメントし、問題が発生しなければ3月にカーネルにC11準拠のソースコードが組み込まれる可能性がでてきました。

スポンサーリンク