ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

rust 1.99.1 正式更新:聚焦 UEFI、嵌入式、x86_64 FFI 与 macOS 链接体验的三项修复

rust 1.99.1 正式更新:聚焦 UEFI、嵌入式、x86_64 FFI 与 macOS 链接体验的三项修复

2026年10月21日,rust 1.99.1 发布。

本次更新对应版本为 1.99.1,更新内容聚焦于三个明确方向:库层面对 UEFI 与嵌入式目标的符号修复、编译器层面对 x86_64 平台 FFI 布尔返回值的错误编译修复,以及链接器层面对 macOS 上 libLLVM 的 rpath 补充。

虽然本次更新列出的内容不多,但涉及的范围并不局限于单一开发场景。从底层库符号,到跨语言接口返回值,再到 macOS 环境下的链接路径配置,rust 1.99.1 的三个修复项分别落在不同的构建与运行环节中。

对于使用 UEFI、嵌入式目标、x86_64 FFI 或 macOS 相关工具链的开发者而言,本次更新中的内容值得重点关注。


版本信息

  • 发布版本:rust 1.99.1
  • 发布时间:2026年10月21日
  • 更新定位:Latest
  • 本次更新涉及范围:
    • library
    • rustc
    • rust-lld

rust 1.99.1 没有列出大规模的新能力描述,本次更新的核心是修复。其中,三个修复项分别对应标准库或库层、编译器以及链接器。

从更新内容本身可以看到,rust 1.99.1 关注的是不同目标平台与不同工具链环节中的正确性和可用性问题。


一、library:修复 UEFI 和嵌入式目标缺少 wcslen 符号的问题

本次 rust 1.99.1 更新中,library 部分修复了 UEFI 和嵌入式目标缺少wcslen符号的问题。

原始更新内容为:

library: fix missing symbol wcslen on UEFI and embedded targets

也就是说,在 UEFI 与嵌入式目标上,wcslen符号缺失的问题得到修复。

wcslen是本次更新中被明确提及的符号名称。rust 1.99.1 针对这一符号在特定目标环境中的缺失状态进行了处理,涉及的目标环境包括:

  • UEFI
  • embedded targets

这项修复的重点不在于通用桌面环境,而是指向 UEFI 和嵌入式目标。对于这些目标而言,符号是否存在,是库层兼容性与构建可用性中的一个直接问题。

此次修复明确属于 library 范畴,说明更新重点是解决库在相应目标上的符号缺失问题,而不是改变语言语法,也不是增加新的 API 描述。

从更新信息可以提炼出以下几个关键点:

  • 修复对象是wcslen符号;
  • 修复场景是 UEFI;
  • 修复场景同样包括嵌入式目标;
  • 修复归属为 library;
  • 更新性质是修复缺失符号,而不是引入新的功能描述。

对于面向 UEFI 或嵌入式环境进行构建的项目来说,这项修复是 rust 1.99.1 中不可忽略的一部分。因为它直接针对特定目标下的符号完整性问题进行了修正。

在版本更新阅读中,类似“missing symbol”的描述通常非常明确:问题的焦点不是性能,也不是代码风格,而是某个应被提供或可被引用的符号处于缺失状态。此次 rust 1.99.1 将这一问题限定在wcslen,并限定在 UEFI 和嵌入式目标。

因此,如果项目涉及以下任一方向,就应当留意这一更新:

  • 以 UEFI 为目标进行构建;
  • 以嵌入式目标进行构建;
  • 构建过程中涉及wcslen符号;
  • 关注库层面对非传统桌面目标的支持情况。

值得注意的是,本次更新给出的信息非常集中,没有扩展到其他符号,也没有列出其他目标平台。因此,围绕该修复进行理解时,应聚焦于wcslen、UEFI、嵌入式目标以及 library 这四个核心关键词。


二、rustc:修复 x86_64 上 FFI 布尔返回值的错误编译问题

rust 1.99.1 的第二项重要修复位于 rustc,也就是编译器层面。

原始更新内容为:

rustc: fix miscompilation of FFI bool return values on x86_64

这项修复针对的是 x86_64 平台上的 FFI 布尔返回值错误编译问题。

其中包含四个必须关注的关键词:

  • rustc
  • miscompilation
  • FFI
  • bool return values
  • x86_64

本次修复不是泛泛地针对所有 FFI 场景,也不是泛泛地针对所有布尔值场景,而是明确指向:

x86_64 平台上的 FFI 布尔返回值。

同时,问题性质被明确标记为错误编译,也就是 miscompilation。

这意味着,rust 1.99.1 对该场景进行了修正,修复对象是涉及 FFI 的布尔返回值在 x86_64 上的错误编译情况。

FFI 是本次更新描述中的关键边界。它表明问题发生在外部函数接口相关的范围内,而不是普通 Rust 函数调用的笼统描述。与此同时,问题又进一步限定为“返回值是 bool”的情形。

因此,这一修复可以被准确概括为:

rust 1.99.1 修复了 rustc 在 x86_64 平台上对 FFI 布尔返回值进行错误编译的问题。

这句话中的每一个限定都不能遗漏:

  • 是 rustc,而不是 library;
  • 是 x86_64,而不是未加区分的全部平台;
  • 是 FFI,而不是所有函数接口;
  • 是 bool 返回值,而不是所有类型的返回值;
  • 是错误编译修复,而不是新增行为说明。

对于存在跨语言调用、外部接口调用或依赖 FFI 返回布尔值的项目而言,这项修复尤其值得关注。更新内容没有进一步列出接口名称、代码模式或其他平台情况,因此阅读和使用这一信息时,应严格围绕已公开的限定范围理解。

从版本维护的角度看,编译器层面的修复通常具有非常明确的意义:当问题被归类为 miscompilation 时,重点在于生成结果的正确性。本次 rust 1.99.1 对这一问题的处理,正是聚焦于 x86_64 平台上 FFI 布尔返回值的编译正确性。

如果项目中存在以下情况,可以将 rust 1.99.1 的这项更新作为重点核对内容:

  • 构建目标为 x86_64;
  • 使用 FFI;
  • 外部函数接口存在 bool 返回值;
  • 关注 rustc 对接口返回值的编译结果;
  • 希望规避已被修复的错误编译问题。

需要强调的是,更新内容指向的是“FFI bool return values”,因此讨论时不应扩大为所有 FFI 参数、所有返回值类型,或所有 CPU 架构。rust 1.99.1 所列出的范围非常具体,准确理解范围本身,就是阅读此次更新的关键。


三、rust-lld:在 macOS 上为 libLLVM 添加 rpath

本次更新的第三项修复位于 rust-lld。

原始更新内容为:

rust-lld: add the rpath for libLLVM on macOS

根据这一描述,rust 1.99.1 在 macOS 上为 libLLVM 添加了 rpath。

这一项内容涉及三个核心对象:

  • rust-lld
  • libLLVM
  • macOS

以及一个关键配置项:

  • rpath

本次修改的范围明确限定在 macOS。也就是说,rust-lld 针对 macOS 环境,为 libLLVM 添加 rpath。

从更新描述本身来看,这项变更属于链接器层面的配置补充。其重点不在 library,也不在 rustc,而是 rust-lld。与前两项修复分别处理库符号和编译器错误不同,这一项处理的是 macOS 环境下 libLLVM 的 rpath 配置。

在本次 rust 1.99.1 更新中,这一条内容可以准确概括为:

rust-lld 现在会在 macOS 上为 libLLVM 添加 rpath。

这里有几个边界同样需要保持清晰:

  • 修改对象是 rust-lld;
  • 添加内容是 rpath;
  • 关联对象是 libLLVM;
  • 适用平台是 macOS;
  • 更新描述没有扩展到其他操作系统。

因此,对于在 macOS 环境中使用 rust-lld,并且关注 libLLVM 链接路径配置的场景而言,rust 1.99.1 提供了明确的更新信息。

rpath 是本次更新中直接出现的术语,rust 1.99.1 的描述并未将其表述为其他类型的路径配置,而是明确为“add the rpath for libLLVM on macOS”。在整理更新内容时,应完整保留这一层含义,不能只笼统写成“优化 macOS 链接”,因为原始信息的重点是为 libLLVM 添加 rpath。

这项更新的关注点可以概括为:

  • macOS 平台;
  • rust-lld 工具;
  • libLLVM;
  • rpath 添加。

对于需要关注 macOS 工具链、链接流程或 libLLVM 相关路径配置的开发者来说,这一项是 rust 1.99.1 更新中对应平台的主要内容。


四、rust 1.99.1 的三项修复分别覆盖了什么

将本次更新放在一起看,可以看到 rust 1.99.1 的三项内容分别位于不同层次。

更新模块修复内容目标范围
library修复缺少wcslen符号的问题UEFI 与嵌入式目标
rustc修复 FFI bool 返回值的错误编译问题x86_64
rust-lld为 libLLVM 添加 rpathmacOS

这三项更新虽然数量有限,但覆盖了三个不同方向:

  • 库符号;
  • 编译器生成结果;
  • 链接器路径配置。

从目标环境上看,也对应三个不同的平台或场景范围:

  • UEFI 与嵌入式目标;
  • x86_64;
  • macOS。

从问题类型上看,则分别是:

  • 缺少符号;
  • 错误编译;
  • 添加 rpath。

这正是 rust 1.99.1 的更新结构:每一项都具有明确的模块归属、明确的问题对象,以及明确的目标范围。


五、面向不同开发场景的更新关注点

如果当前工作涉及 UEFI 或嵌入式目标,那么本次更新中最需要关注的是 library 对wcslen缺失符号的修复。

如果当前工作涉及 x86_64 平台上的 FFI,并且接口存在 bool 返回值,那么应重点关注 rustc 对错误编译问题的修复。

如果当前工作环境是 macOS,并且使用 rust-lld 或关注 libLLVM 的相关链接路径,那么应重点留意 rpath 的添加。

换句话说,rust 1.99.1 的三个更新点可以按使用场景进行快速定位:

开发场景对应更新内容
UEFI 构建修复wcslen缺失符号
嵌入式目标构建修复wcslen缺失符号
x86_64 FFI bool 返回值修复 rustc 错误编译
macOS 与 libLLVMrust-lld 添加 rpath

这种结构化阅读方式能够帮助开发者快速确认:本次版本更新是否与当前项目的目标平台、接口形式或工具链环境相关。


六、rust 1.99.1 更新内容完整汇总

rust 1.99.1 于 2026 年 10 月 21 日发布。

本次版本更新包含以下三项内容:

  • library 修复了 UEFI 和嵌入式目标上缺少wcslen符号的问题;
  • rustc 修复了 x86_64 上 FFI bool 返回值的错误编译问题;
  • rust-lld 在 macOS 上为 libLLVM 添加了 rpath。

从内容分布来看:

  • 第一项面向 UEFI 与嵌入式目标;
  • 第二项面向 x86_64 上的 FFI bool 返回值;
  • 第三项面向 macOS 上的 libLLVM 路径配置。

从模块分布来看:

  • library 负责wcslen缺失符号修复;
  • rustc 负责 FFI bool 返回值错误编译修复;
  • rust-lld 负责 macOS 上 libLLVM 的 rpath 添加。

结语

代码地址:github.com/rust-lang/rust

rust 1.99.1 是一次聚焦修复的更新。

本次版本没有将内容铺陈为大量功能变化,而是将重点放在三个具体问题上:UEFI 和嵌入式目标中的wcslen符号缺失、x86_64 中 FFI bool 返回值的错误编译,以及 macOS 中 libLLVM 的 rpath 配置。

对于相关目标平台和工具链场景而言,这三项修复都具有明确的对应关系。

如果项目涉及 UEFI、嵌入式、x86_64 FFI 或 macOS 环境,rust 1.99.1 中列出的更新内容值得逐项关注。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进