セキュリティ・キャンプ 全国大会 2025 の L4 Cコンパイラゼミに参加しました。Cコンパイラゼミは一ヶ月ほどの事前学習期間と5日間の合宿 (内3日の開発期間) で小さなCコンパイラを作るという野心的なゼミです。 私は Rust で RISC-V をターゲットにした gakicc という C コンパイラを開発しました。Rust で開発する都合上、セルフホストはできないので、講師の hsjoihs さんの作った 1.5k 行程でセルフホストされている 2kmcc を自作のコンパイラでコンパイルし、生成されたバイナリを用いてもう一度 2kmcc をコンパイル、さらに生成されたバイナリを用いてもう一度 2kmcc をコンパイルし、2回目と3回目に生成されたアセンブリが一致することを目標としました。最終日の帰宅までになんとか目標が達成できて良かったです。 gakicc では、 低レイヤを知りた

