更新 Rust 的 Linux musl 目标

2023 年 5 月 9 日 · Wesley Wiser 代表 编译器团队 发布

从 Rust 1.71 开始(预计于 2023 年 7 月 13 日发布稳定版),各种 *-linux-musl 目标将 附带 musl 1.2.3。这些目标目前使用 musl 1.1.24。虽然 musl 1.2.3 引入了一些 新功能,最值得注意的是在所有平台上 64 位时间,但它与之前的 musl 版本保持 ABI 兼容。

因此,此更改不太可能影响您。

更新的目标

以下目标将被更新

目标 支持层级
aarch64-unknown-linux-musl 第二层级,包含主机工具
x86_64-unknown-linux-musl 第二层级,包含主机工具
arm-unknown-linux-musleabi 第二层级
arm-unknown-linux-musleabihf 第二层级
armv5te-unknown-linux-musleabi 第二层级
armv7-unknown-linux-musleabi 第二层级
armv7-unknown-linux-musleabihf 第二层级
i586-unknown-linux-musl 第二层级
i686-unknown-linux-musl 第二层级
mips-unknown-linux-musl 第二层级
mips64-unknown-linux-muslabi64 第二层级
mips64el-unknown-linux-muslabi64 第二层级
mipsel-unknown-linux-musl 第二层级
hexagon-unknown-linux-musl 第三层级
mips64-openwrt-linux-musl 第三层级
powerpc-unknown-linux-musl 第三层级
powerpc64-unknown-linux-musl 第三层级
powerpc64le-unknown-linux-musl 第三层级
riscv32gc-unknown-linux-musl 第三层级
riscv64gc-unknown-linux-musl 第三层级
s390x-unknown-linux-musl 第三层级
thumbv7neon-unknown-linux-musleabihf 第三层级

注意:musl 1.2.3 不会提高任何目标所需的最低 Linux 内核版本。

64 位时间会破坏 32 位目标上的 libc 库吗?

不会,musl 项目谨慎地进行了此更改,以保留 ABI 兼容性。libc 库将继续正常运行,无需修改。

libc 库的未来版本将 更新 时间相关结构和函数的定义,使其在所有 musl 目标上都为 64 位,但这取决于 musl 目标本身首先更新。目前,还没有关于此更改何时进行的预期日期,并且将谨慎地帮助 Rust 生态系统成功过渡到更新的时间相关定义。