Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Building Rustc on m68k

オープン
#744 コメント 41 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
rust

調査の方向性

まず、一覧にある m68k のブロッカー(linux-raw-sys、rustix、compiler/rustc_data_structures/src/tagged_ptr.rs、bootstrap スクリプト)を確認します。tagged_ptr のアラインメント修正の現在の状態と、m68k サポートの不足箇所を確認してから、bootstrap の失敗を再現します。rustc とそのツールを、一覧にある回避策なしで m68k 向けにビルドできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

I am currently working on building rustc for m68k(since that seems like a more achievable short-term goal). Many of the roadblocks I'll hit on m68k will also likely be shared with other targets - this issue could server as a reference for that.

Here is a list of currently-known issues:

  • - linux-raw-sys does not support m68k. This crate is needed by rustc, and a lot of other crates. Proper support will require a moderate amount of work, but it something that can be done now.

  • - The rustix crate does not support m68k. (more specifically, the iocl::const module needs the right values for syscall arguments).

  • - The const assert in https://github.com/rust-lang/rust/blob/ce5fdd7d42aba9a2925692e11af2bd39cf37798a/compiler/rustc_data_structures/src/tagged_ptr.rs#L163 fails. EDIT: the problem is the alignment of usize. Rust uses those bits to store type tags. If the aligement is less than 4, this fails. I have a fix ready to be sent & merged.

  • - The bootstrap script fails to compile native GCC for m68k. This prevents it from building any codegen backends or tools later down the line. This is skipable with some fiddling.

  • - When building other tools(eg. cargo) the bootstrap script "forgets" where the std for m68k is.

So, as of toady, with some workarounds, I can get pretty far into the cross-compilation process - a bit more work, and we may be able to get rustc running on m68k.

@glaubitz I think this issue might be of interest to you.

主要言語
Rust
スター
1.2k
フォーク
106
平均マージ
5時間 50分
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

rust-lang/rustc_codegen_gcc のほかの issue

rust-lang/rustc_codegen_gcc の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。