从 Rust 1.71 版本开始(计划于 2023-07-13 稳定发布),各种 *-linux-musl
目标将自带 musl 1.2.3。这些目标目前使用 musl 1.1.24。虽然 musl 1.2.3 引入了一些新特性,最显著的是在所有平台上引入了64 位时间,但它与早期 musl 版本是 ABI 兼容的。
因此,这项改动不太可能影响到您。
已更新的目标
以下目标将被更新
目标 | 支持层级 |
---|---|
aarch64-unknown-linux-musl | Tier 2(带主机工具) |
x86_64-unknown-linux-musl | Tier 2(带主机工具) |
arm-unknown-linux-musleabi | Tier 2 |
arm-unknown-linux-musleabihf | Tier 2 |
armv5te-unknown-linux-musleabi | Tier 2 |
armv7-unknown-linux-musleabi | Tier 2 |
armv7-unknown-linux-musleabihf | Tier 2 |
i586-unknown-linux-musl | Tier 2 |
i686-unknown-linux-musl | Tier 2 |
mips-unknown-linux-musl | Tier 2 |
mips64-unknown-linux-muslabi64 | Tier 2 |
mips64el-unknown-linux-muslabi64 | Tier 2 |
mipsel-unknown-linux-musl | Tier 2 |
hexagon-unknown-linux-musl | Tier 3 |
mips64-openwrt-linux-musl | Tier 3 |
powerpc-unknown-linux-musl | Tier 3 |
powerpc64-unknown-linux-musl | Tier 3 |
powerpc64le-unknown-linux-musl | Tier 3 |
riscv32gc-unknown-linux-musl | Tier 3 |
riscv64gc-unknown-linux-musl | Tier 3 |
s390x-unknown-linux-musl | Tier 3 |
thumbv7neon-unknown-linux-musleabihf | Tier 3 |
注意:musl 1.2.3 不会提高任何目标所需的最低 Linux 内核版本。
libc
crate 吗?
64 位时间会破坏 32 位目标上的 不会,musl 项目在做出这项改动时非常谨慎,保留了 ABI 兼容性。libc
crate 无需修改即可继续正常运行。
未来的 libc
crate 版本将更新与时间相关的结构体和函数定义,使其在所有 musl 目标上都是 64 位,但此更新取决于 musl 目标本身首先得到更新。目前,这项改动没有具体的预期日期,并且我们将谨慎处理,以帮助 Rust 生态系统顺利过渡到更新后的时间相关定义。