跳到主要内容

每周一龙:第 36 期

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

每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯! 上周的进展主要有 AOSC OS 成功「合龙」以及工具链,以及——农历甲辰龙年新年快乐🐉! 详情点进来看!

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

要闻速递

AOSC OS 合龙工程圆满收官!

安同开源社区(AOSC)在龙年初一完成了历时逾半年的「合龙」工作。 至此,LoongArch 已成为 AOSC OS 的一级(Tier 1)架构,享受顶级维护与支持。AOSC 开发者白铭骢说:

经过多名社区同事超过半年的努力,AOSC OS 已成功「合龙」——所有龙架构软件包均已进入稳定 (stable) 源。 考虑到用户和维护者之间关注度和设备持有率较高,龙架构也正式升格为 AOSC OS 的一级架构, 享受最完整特性集和最及时的更新。

目前该移植正在进行「合龙」后的最后修缮,并在不同设备配置上测试和验证使用体验。 正式版系统发行(安装盘和系统包等)将于近期在其社区主页和龙芯开源社区的论坛发布。

在这里,我希望着重感谢几位维护者的贡献:

  • 陈嘉杰:实现自动化框架,大大提高移植维护效率;整理和维护 Chromium 补丁集,为用户们提供了又一理想的浏览器选择;在最后冲刺中贡献突出,让龙年第一天完成「合龙」成为现实;
  • 刘子兴:实现了 Firefox WebRTC 支持,让使用龙架构参加在线视频会议和使用 Discord 等语音聊天软件成为可能;提交了 GCC D 编译器和 LDC 的龙架构支持;
  • 王江津:为当前 AOSC OS 锁定的 GCC 13 和 Glibc 2.37 维护了矢量补丁;修复了 Firefox 的硬解支持;
  • 王邈:实现和维护 libLoL 新旧世界兼容层的内核和用户空间组件;
  • SignKirigami:整理和维护 QtWebEngine 补丁集,不仅为 Chromium 补丁集提供了工作基础,还为全功能 KDE 6 奠定了基础。

此外,我们还应感谢龙芯中科各位工程师们的辛勤劳作和积极协作,龙架构的上游软件生态日益壮大和成熟离不开他们的努力。 希望在未来能够继续与他们一同合作,为龙架构的桌面生产力添砖加瓦!

最后,感谢过去一年中各位同事的辛勤劳作,祝各位社区好友龙年吉祥,万事如意!

— 白铭骢

先「马」再看

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

工具链

ABI

为搭配上期周报提到的 Rust LoongArch targets 默认代码模型变更,以在无需用户手动干预的前提下,允许链接 Chromium 等大型应用的同时,不影响较小应用的性能,xen0n 发起了讨论。 有两种可行的做法,可以只做其中一种,也可以都做:

  • 允许 relax R_LARCH_CALL36medium 代码模型下的过程调用指令序列。
  • 实现范围扩展片段(range extension thunks),以在 R_LARCH_B26 即单条 bl 指令「够不着」跳转目标的情况下,生成小段的「蹦床」片段,帮助跳转到目标。

前者能确保那些实际只需一条指令即可表达的跳转,在最终代码中都如此短,有利于发挥性能; 后者则能为存量的代码提供兼容,方便开发者与用户的迁移。

binutils

上周除了 Binutils 2.42 正式版本发布之外,还有些瞄准 2.43 版本的功能开发,因此延至本期报道了。

mengqinggang 使得单纯的 .align N 形态所生成的 R_LARCH_ALIGN 记录不再关联到符号。

mengqinggang 还修复了 R_LARCH_ALIGN丢弃输出节(output section discarding)功能相互作用导致的错误。

Lulu Cai 去除了不必要的 TLS IE 模型的动态重定位记录。

GCC

Lulu Cheng 修复了 __iocsrrd_h 的错误返回类型, 又从 larchintrin.h 移除了一批冗余的类型转换。

LLVM

Alexandre Ganea 顺手修了 LoongArch LLD 在 MSVC 上的一处编译警告。

杂闻播报

2 月 6 日,Sui Jingfeng 向社区逆向工程并维护的 Vivante 驱动 etnaviv 提交了第 13 版的 PCIe 形态的 Vivante 设备支持。 我们早就知道 LS7A1000 桥片、2K1000 SoC 内置的 GPU 是 Vivante GC1000, 但是这次提交为我们更新了一个新的知识: 景嘉微 JM9100、JD9230P 以及凌久 GP102 也都是 Vivante。 感谢 zhangn1985 提供新闻线索!

2 月 2 日,deepin(深度)社区发布了 deepin v23 Beta 3, 首度包含了 LoongArch 移植。 但请注意:此 LoongArch 测试镜像非 ISO 格式,而是磁盘镜像。请阅读随附的 README 文档以了解如何使用。 感谢 RevySR 提供新闻线索正好错过上期周报的发布

张贴栏

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