Linux 6.19ではMicrosoft C拡張機能がデフォルトで有効化される可能性がある

キーポイント:
  • Linux 6.19 では、GCC および Clang で -fms-extensions をデフォルトで有効にすることができます。
  • これにより、Microsoft Visual C++ 固有の C 構造を使用できるようになります。
  • この変更は、カーネル コードの読みやすさを向上させ、複雑さを軽減することを目的としています。
  • Linus Torvalds 氏はこの追加に反対していません。
  • また、Minix ファイル システムとカーネル 6.18 の HID サブシステムの改善も含まれています。

Microsoft-love-Linux

の開発 Linuxカーネルは進化を続ける 次のバージョンに向けて、そして 最も印象的な新機能の一つ XNUMXつが見つかりました Microsoft C拡張機能をデフォルトで有効にする提案これらの拡張機能(-fms-extensions)は、kbuild-next開発ブランチの一部です。GCCとClangの両方と互換性があります。 コンパイラが非標準のC言語構造を認識できるようにする 匿名構造体や他の構造体内の共用体の使用など、Microsoft Visual C++ にヒントを得たものです。

この措置は、カーネルソースコードを簡素化し、読みやすくすることを目的としている。 これは、有益である可能性がある Microsoft C の特定の機能を活用することを目的としています。 オペレーティング システム開発の特定のコンテキストにおいて。

これまで、Microsoft エコシステムにリンクされた要素を採用することにはある程度の抵抗がありましたが、kbuild-next にこれらのパッチが存在することは、この変更が Linux 6.19 マージ ウィンドウで受け入れられる見込みが近いことを示しています。

統合に向けたもう一つのステップ

たくさん 提案された2つのパッチはオプションを導入する `-fms-extensions` コンパイルは、カーネルビルドプロセス全体を通してデフォルトで組み込まれます。つまり、GCC または LLVM/Clang でコンパイルされたすべてのシステムアーキテクチャとコンポーネントは、これらの拡張機能にアクセスできるようになります。

この提案の提案者の一人である開発者ラスムス・ヴィルモーズ氏は次のように説明した。 これらの拡張機能を有効にすると、「よりエレガントでクリーンなコード」を作成できるようになります。 C. Villemoes 氏は、Microsoft の機能が必要になるたびに追加のコンパイル フラグを使用する必要性をなくし、それらをグローバルに有効にすることで、その使用に関するケースごとの議論が回避され、カーネル内でより均一な開発スタイルが促進されると主張しています。

リーナス・トーバルズへの暗黙の支持

しかし 過去にも同様の提案が審査を通過できなかったことがある。 カーネルメーリングリストで、 今回は状況が違うようだLinux の作者 Linus Torvalds 氏もこの議論に参加しており、-fms 拡張機能の有効化に異議を唱えていません。

この この変更はLinux 6.19で正式に実装される可能性があることを示唆している。 他の著名な開発者から異議が出ない限り。kbuildコンパイルシステムに関連するパッチの1つは、-fms-extensionsオプションがカスタムCFLAGSを使用するアーキテクチャにも適用されることを保証し、カーネルエコシステム全体にわたるコンパイルの一貫性を維持します。

La -fms-extensionsの採用は技術的なステップである これはLinuxカーネルの継続的な進化の一環です。些細なことのように思えるかもしれませんが、非標準の構造をサポートすることで、特に複雑な構造を持つコード記述において、より柔軟なコード記述が可能になります。

しかし、 コミュニティの一部は懸念を表明している Microsoft 関連の機能に依存することについて、これが Linux で使用される C コードの移植性や純粋性に影響を与える可能性があることを懸念しています。 それでも、この取り組みは複数の開発者の支持を得ている。 メリットがデメリットをはるかに上回ると信じている人たち。

カーネルの最近の進歩

Microsoft C拡張に関する議論に加えて、 Linuxカーネル6.19にはMinixファイルシステムドライバの修正も含まれる。このフォーマットは40年以上の歴史を誇ります。このドライバには破損エラーが確認されており、計画されている修正により、破損したイメージの管理と回復が改善され、システムの読み取りおよび書き込みエラーに対する堅牢性が強化されます。

この改善は、古いシステムであっても、教育や実験の分野で現在も使用されているシステムにおいて、下位互換性と安定性を維持するという Linux 開発者の継続的な取り組みを示しています。

バージョン6.19が完成するまで、 カーネルチームは以前のアップデートの作業を続けています現在 5 番目のリリース候補 (6.18-rc5) となっている Linux 6.18 では、触覚タッチ パネルのサポート、Sony DualSense コントローラー オーディオの管理の改善、HID-BPF の柔軟性の向上などの新機能により HID サブシステムが改善されています。

さらに hydrawからのioctl呼び出しに強化されたセキュリティを組み込んでいます新しいPIDFFハプティック機能とIntel QuickI2Cの高度な設定が追加されました。これらの最適化は、ユーザーエクスペリエンスの向上と、独自OSとのハードウェア互換性の向上を目的としています。

出典 https://git.kernel.org/