Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Building Rustc on m68k

未关闭
#744 41 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
rust

调研方向

首先检查列出的 m68k 阻塞项:linux-raw-sys、rustix、compiler/rustc_data_structures/src/tagged_ptr.rs 以及 bootstrap 脚本。检查 tagged_ptr 对齐修复的当前状态和 m68k 支持方面的缺口,然后复现 bootstrap 失败。完成的标准是:无需列出的变通方案即可为 m68k 构建 rustc 及其工具。

由索引模型根据 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
派生
105
平均合并
10 小时 31 分钟
30 天内合并 PR
27

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

rust-lang/rustc_codegen_gcc 的其他 Issue

查看 rust-lang/rustc_codegen_gcc 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。