GCCでは、RUST(gccrs)の実装を承認しました。

最近のニュースはそれを壊しました GCC運営委員会は、gccrsの実装を含めることを承認しました (GCC Rust)GCCコアのRustコンパイラから。

それと共に GCC (GNUコンパイラコレクション) すでにRustのバックエンドがあります、AntoniBoucherによって設立されたrustc_codegen_gccというプロジェクトを通じて。 それはまだ進行中の作業として説明されていますが、2021年XNUMX月にメインのRustリポジトリにマージされました。

言語を知らない人のために さび、 彼らは何であるかを知っている必要がありますeは安全なメモリ管理に焦点を当てています 高いジョブ並列処理を実現する手段を提供します。 Rustでは、メモリ領域を解放した後のアクセス、nullポインターの逆参照、バッファー境界のオーバーフローなどのエラーを排除する安全なメモリ処理が、参照のチェック、オブジェクトの所有権の追跡、オブジェクト(スコープ)の存続期間の計算を通じてコン​​パイル時に実現されます。 )、およびコード実行中のメモリアクセスの正確さを評価します。

さび 整数オーバーフロー保護も提供します、使用前に変数を初期化する必要があり、標準ライブラリのエラーをより適切に処理し、デフォルトで参照と不変変数の概念を適用します。

インターフェイスを統合した後、標準のGCCでは、LLVMビルドでビルドされたrustcコンパイラをインストールしなくてもRustプログラムをコンパイルするために使用できます。

2020年XNUMX月以来、Open Source Security、IncとEmbecosmのおかげで、GCCのRustフロントエンドにフルタイムで取り組んでいます。 結果として、私はこのメーリングリストに書き込み、フロントエンドをGCCにアップロードするためのパスを計画するために、ここでの集合的な経験からのフィードバックを早期に求めています。

このプロジェクトの重要性は、一般にGCCで構築されたLinuxにとっての重要性です。ここでは、メモリの安全性の理由から、カーネルコードにRustをCと一緒に使用できるようにする計画が常に進んでいます。

これは、Rustコンパイラが rustc、GCCバックエンドで使用できます。 バックエンドは、Rustの通常のバックエンドコンパイラであるLLVMよりも多くのCPUアーキテクチャをサポートするコードジェネレータですが、パッチを適用したバージョンのGCCが必要になるなどの制限があります。

別の方法は、完全なGCCツールチェーンを用意することです。 2021年XNUMX月、Grsecurityと呼ばれるLinuxカーネルの強化バージョンのメーカーであるOpen Source Security、Incは、セキュリティを向上させたという理由で、Rust用のGCCインターフェイスの「公開開発努力」に資金を提供すると発表しました。異なるコンパイラを混合します。

このフロントエンドのリーダーとしての私の観点から、私たちは現在 激しい開発の下で、これはかなりの量のコードがローテーションすることを意味します まだ、そして私たちが正常にコンパイルできるようになるまで、私はこれが変わるのを見ません 今年後半にlibcoreボックス。 会いたいけど GCC 13に統合され、このプロジェクトが成功することを確認したい すべて、これは次のリリースウィンドウにロールバックすることを意味する可能性があります これが管理しやすく、高品質のフロントエンドを作成できるようにするため 秘密結社 他の人に。

同社は、「コンパイラが同じバイナリレベルのセキュリティを提供しないRustまたは別の言語で記述されたコードを導入することで、ランタイム環境の全体的なセキュリティをどのように低下​​させることができるか」を示す論文を引用しました。

gccrs開発者は、レビューチームとの協力を開始することをお勧めします GCC変更リリースは、GCCに追加されるコードの技術要件を満たすという観点からパッチを完成させて承認します。

gccrsの開発が計画どおりに継続され、予期しない問題が特定されないと仮定すると、 Rust言語のフロントエンドは、来年13月に予定されているGCCXNUMXリリースに統合されます。。 GCC 13のRust実装はベータ版になりますが、デフォルトではまだ有効になっていません。

最後に あなたがそれについてもっと知りたいなら プロジェクトについては、詳細を参照してください。 次のリンク。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   キュートリット

    すばらしいです。実装が多くのプログラマーにとって役立つことを願っています。