RuyiSDK 双周进展汇报 第 070 期

RuyiSDK 双周进展汇报 第 070 期·2026 年 06 月 09 日

卷首语

各位 RuyiSDK 的开发者伙伴,大家好!

过去两周,RuyiSDK 团队持续推进各核心组件的优化与新特性落地。

工具链方面,基础 C 库的 RVV 优化持续合入上游主线(GLIBC 与 newlib),GCC 完成了 Zibi 扩展实现及多个草案扩展的支持,LLVM 围绕 P 扩展密集提交了十余项改进与修复。

运行时环境方面,V8 持续完善 RISC-V 后端支持,本期合入多项 WASM 相关修复与优化;OpenJDK 在主线推进多项代码重构与风险修复,同时 JEP 401(值类与对象)的移植工作取得阶段性突破,已完成模板解释器的代码解耦。

开发者工具体验同步提升:RuyiSDK 包管理器已进入 Debian sid 官方源;VSCode 插件新增开发板文档入口与完整中英文国际化支持,已正式发布0.1.4 版本,欢迎大家下载使用;Eclipse 插件完成多项界面与逻辑优化。

感谢社区贡献者 @RevySR 对 Debian 打包工作的支持。RuyiSDK 将持续保持开放迭代,欢迎更多开发者参与共建。

更多进展细节详见下方各板块,欢迎试用并在 GitHub 或社区中反馈建议,期待更多伙伴一起共建 RISC‑V 软件开发生态。

:fast_down_button: 包管理器和IDE插件工具都提供了多种下载或安装方式,您可以任意选择一种:

  • RuyiSDK 包管理器 0.49.0​:rocket:

    [!NOTE]
    RISC-V 用户可以使用 pip 安装 ruyi,但由于 ruyi 依赖的部分 Python
    库暂未在 PyPI 上提供 RISC-V 架构的预编译包,安装 ruyi 时 Python
    包管理器会尝试从源代码编译安装这些依赖,可能非常耗时或编译失败。

    如果您在 RISC-V 设备上安装 ruyi 时遇到问题,建议使用其他安装方法。对于 ruyi 的单文件二进制发行版,您必须将下载的文件重命名为一字不差的 ruyi 才能正常使用。

    请注意:从 RuyiSDK 0.48.0 开始,Ubuntu 22.04 LTS 与 Python 3.10 环境不再受到支持。相关用户,尤其是发行版打包者、CI 环境维护者与仍在使用旧版 Python 运行环境的用户,在升级前请提前确认兼容性影响并完成验证。

  • RuyiSDK VSCode Extension 0.1.4 :rocket:

  • RuyiSDK Eclipse Plugins 0.1.4

    [!NOTE]
    近期 Eclipse Marketplace 中的 RuyiSDK 插件查询与安装出现异常,详情可参考【RuyiSDK Eclipse 插件安装方式临时调整通知】,建议您通过 Eclipse 的 Install New Software… 方式安装插件。

如果您不清楚怎么选择,可以参考不同渠道和下载方式的说明:RuyiSDK 全渠道上架:包管理器登陆 PyPI,插件进驻 VS Code 和 Eclipse 市场

每一次版本的迭代,都离不开社区伙伴的反馈与贡献。下个版本计划于 6 月底发布,我们将持续给您带来更新!我们诚挚邀请您常来 RuyiSDK 技术社区 交流想法,共同成长。

基础开发环境

包管理器

由于 RuyiSDK 发版周期调整,RuyiSDK 包管理器的 0.50.0 版本预期将在 6 月 23 日正式发布。欢迎下载 RuyiSDK 包管理器当前最新版本 0.49.0 试用。

RuyiSDK 团队仍在常态化维护 RuyiSDK 软件源。如您已有 RuyiSDK 包管理器了,您可通过 ruyi update 获取近两周的更新:我们保证这些内容兼容 RuyiSDK 包管理器的近 3 个正式版本。

目前有以下内容正在开发中:

  • 简化资源文件的捆绑方式,以配合 Debian 对源码包的格式要求。Debian sid 用户可以通过 apt install ruyi 安装发行版打包的 ruyi 了。感谢 @RevySR 的贡献!
  • 支持展示软件包的下载大小。
  • 支持为软件包关联更丰富的元数据,包括但不限于解压缩后体积、发行版兼容性等。
  • 迁移至测试团队新开发的集成测试套件 ruyi-pytest,替换旧的、不再维护的 ruyi-litester 套件。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

RuyiSDK VSCode 插件

  • 新增:在 RuyiSDK Home 页面新增 board 文档入口,一键直达开发板相关文档,查阅资料更便捷
  • 新增:完整的国际化(i18n)框架,插件界面现已支持中英文双语切换
  • 新增:中文翻译,覆盖所有核心功能模块,方便国内开发者无障碍使用
  • 新增:为虚拟环境的 sysroot 添加额外包选择框,创建虚拟环境时可按需选择附加软件包,环境配置更加灵活
  • 新增:新闻内容支持中英文翻译,方便全球开发者阅读
  • 新增:新闻页面动画效果,交互更加流畅生动
  • 重构:重新设计新闻页面 UI,视觉体验大幅提升
  • 修复:一键编译功能中识别 CMake 项目的错误,编译流程更稳定可靠

RuyiSDK Eclipse 插件

  • ruyi: 修复有关 RuyiSDK 元数据更新结果的判断逻辑与提示信息。
  • ruyi: 修复和简化对已安装 ruyi 包管理器的检查逻辑。
  • 界面: 添加有关 ruyi 包管理器版本更新的提示信息。
  • 界面: 调整各视图在 Eclipse IDE C/C++ 布局下的初始位置,调整 RuyiSDK.cn 网站视图的启动方式。
  • 界面: 整理菜单并对各条目妥善分组。

版本测试及遗留问题

基础组件

基础C库

  • GLIBC:
    • 实现了 rawmemchr, strcasecmp 和 mempcpy 的通用版本 RVV 优化。
    • 先前提交到 GLIBC 上游的 memccpy, memchr, memcmp, strchr, strrchr 的通用版本 RVV 优化已合入主线(正在确认你是不是机器人!
  • newlib:
    • 先前提交到 newlib 上游的 mempcpy, memrchr, memchr, memccpy 的通用版本 RVV 优化已合入主线(https://sourceware.org/pipermail/newlib/2026/022437.html)。
    • 先前提交到 newlib 上游的 rawmemchr, memcmp 接口的通用版本 RVV 优化,reviewer 提出了修改意见,已完成相关修正。
    • 移植了 acosh 到当前的 newlib 向量数学库框架。

GCC

  • 分析了 bne/beq immediate 支持,完成了Zibi扩展的GCC实现
  • 基于 riscv-isa-manual PR #2369,在Ruyisdk GCC / Binutils工具链上支持Zvbc32e / Zvkgs草案
  • 完成特权指令扩展Smmtt的第一子扩展Smsdid支持,已更新至Ruyisdk Binutils,正在实现第二子扩展Smmpt部分

LLVM

V8

本期提交并合入的patch:

  1. [riscv]Follow established InstructionCode layout for LoadTrustedPointer
    [RISC-V] 参照现有指令码格式规范实现 LoadTrustedPointer(https://chromium-review.googlesource.com/c/7870730)
  2. [riscv][wasm] Support FP comparison condition in ArchSelect
    [RISC-V][WASM] 在 ArchSelect 中支持浮点比较条件(https://chromium-review.googlesource.com/c/7870950)
  3. [riscv]Reland [turboshaft] Introduce MemoryRepresentation for LoadTrustedPointer Port commit 8a885ed63641d4b0bfb4d8d9aaddc21104614b35
    [RISC-V] 重提「[Turboshaft] 为 LoadTrustedPointer 引入内存表示」,移植对应代码提交(https://chromium-review.googlesource.com/c/7878121)
  4. [riscv] Support i16 in liftoff
    [RISC-V] 在 Liftoff 中增加 i16 类型支持(https://chromium-review.googlesource.com/c/7882462)
  5. [riscv]Add SmiUntagUnsigned helpers and adjust maglev debug condition
    [RISC-V] 新增 SmiUntagUnsigned 辅助函数,并调整 Maglev 调试判断逻辑(https://chromium-review.googlesource.com/c/7888915)
  6. [riscv] Use unsigned comparison in JSToWasmWrapperHelper
    [RISC-V] 在 JSToWasmWrapperHelper 中改用无符号数比较(https://chromium-review.googlesource.com/c/7884915)
  7. [riscv] Disable float16 due to RVV don’t support Zvfh now.
    [RISC-V] 因当前 RVV 暂未支持 Zvfh 扩展,禁用 float16 相关功能(https://chromium-review.googlesource.com/c/7889597)
  8. [riscv][wasmfx] Avoid code cache lookup on suspend
    [RISC-V][WasmFX] 线程挂起时跳过代码缓存查找操作(https://chromium-review.googlesource.com/c/7901154)

OpenJDK

本期审阅并合入的JDK主线patch:

Java重要新特性JEP 401: 值类与对象(Value Classes and Objects)的调研和移植工作进展:
通过阅读JEP 401规范文档和调试对比X86/ARM64相关代码,已初步了解该特性的设计思路,并开始着手实现CPU平台一侧代码的解耦。
目前已完成模板解释器模块的代码解耦,并能够构建支持解释执行模式RISC-V JDK二进制,下一步考虑C1& C2 JIT模块的代码解耦。
详细修改见如下链接:

Go

本期提交主线的CL:

本期审阅并提出修改意见CL:

1 个赞

:+1: :clap:

1 个赞