跳到主要内容

每周一龙:第 10 期

· 阅读需 5 分钟
WANG Xuerui
🐲龙门客栈打杂的

每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯!

如无特别说明,文中提及的日期、时间都为北京时间(UTC+8)。

先「马」再看

本栏目的内容具有一定延续性,将持续追踪报道 LoongArch 领域的重要或长期项目(坑)。

Linux

  • 7 月 24 日,Huacai Chen 发出了一版测试补丁, 以允许内核自身使用 LSX/LASX 为特定操作加速。xen0n 将很快基于此补丁优化龙架构上的 RAID5/6 计算性能。
  • 7 月 19 日,来自麒麟的 Enze Li 贴出了龙架构的 KFENCE 适配。KFENCE(Kernel Electric-Fence,「内核电子围栏」) 是基于采样的低开销内存安全检查工具,可以帮助检查堆越界访问、释放后使用use-after-free、非法释放内存等常见的内存安全 bug。
  • 7 月 18 日,上游开发者 Dan Carpenter 为龙芯集显显控驱动增加了一处错误处理。 由于龙芯的代码维护者似乎一开始并不想接受该补丁,加之使用了错误的英语表达,差点吵起来,还好后边和平解决了。 (笔者并未参与调解,但疑似是有国人朋友看懂了中式英语,私聊告知了 Dan 龙芯维护者实际想表达的含义。)

工具链

LLVM

预计在中国时间 7 月 25~26 日期间,LLVM 17 将从主线切出,如无重大事件则预计在 6 周后正式发布。 该版本如同 binutils 2.41,也将包含完整的 LA64 v1.00 指令汇编、反汇编支持。LLD 的龙架构移植预计不会在本周内完成(尽管进行到了最后的微调工作), 但经上游维护者 MaskRay 证实,一旦其代码通过审查,也将能够进入 LLVM 17 发布分支。

7 月 21 日,wangleiat 提交了龙架构虚拟化扩展(LVZ) 与二进制翻译扩展(LBT)的指令汇编、反汇编支持,已于 7 月 24 日进入主线, 赶上了 LLVM 17 的发布节奏。

7 月 20 日,wangleiat 为 Clang 增加了 LSXLASX 的 intrinsics 支持, 第二天 leecheechen 为它们分别补上测试

7 月 20 日,SixWeining 也为 Clang 增加了 -march=native-mtune= 命令行选项的支持。

杂闻播报

7 月 21 日,xry111 向 OpenSSL 项目提交了运行时动态检测龙架构向量扩展支持构建时正确检测龙架构的补丁。这能修复 OpenSSL 3.1.x 的龙架构配置不能搭配没有向量支持的工具链使用的问题。(先前龙芯贡献的代码未考虑这一点,那些工程师大概率未在社区发行版的环境下进行测试。)

7 月 20 日,Gentoo 的龙架构移植从 WD40no rust 状态毕业了。 待 LLD 支持上游后,预计 GNOME3 的 keywording 工作将能够很快推进了。

7 月 17 日,龙芯在其 GitHub 组织下创建了名为 la-softdev-convention「龙架构软件开发约定」的仓库, 内容也是先前被归档的《龙架构工具链约定》等文档的微调。 如同先前的 la-abi-specs 仓库向该库贡献也需要签署龙芯 CLA。 目前仍未有龙芯 CLA 方面的公开进度,但观察到 @loongson-admin 账号下出现了一个 Canonical CLA 自动化流程的 GitHub Action 定义的 fork

张贴栏

本栏目可供张贴公益性质的各种信息。