每周一龙:第 47 期
每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯! 上周的进展主要有工具链与发行版适配。 详情点进来看!
如无特别说明,文中提及的日期、时间都为北京时间(UTC+8)。
本期周报的实际发稿时间是周二,因为 xen0n 周一晚上在装机。
先「马」再看
本栏目的内容具有一定延续性,将持续追踪报道 LoongArch 领域的重要或长期项目(坑)。
Linux
Li Jun 意图改变冲刷最后一级缓存的方式,以「修复从
S3 睡眠醒来时找不到映像信息」。从补丁的 Signed-off-by
(「签发人」)信息看,该改动是与三名龙芯员工
Baoqi Zhang、Jianmin Lv 与 Biao Dong 一同完成的。
该补丁在解释性文字、代码质量方面都有需要改进之处,例如:
- 提交说明中,未对问题机理与解决方案作出解释;
- 补丁涉及到向 IOCSR
0x280
写入1
,但此 IOCSR 编号未见于任何公开资料,补丁中也未包含对其用途的解释; - 补丁涉及到强制访问内存地址,但未使用如
READ_ONCE
等的内核惯用写法。
目前原作者改到了第二版,仍然没改完。由于 xen0n 的主力工作站仍未完全恢复正常,因此这些本将出现在一封回复邮件中的内容就只能先以这种形式亮相了。
工具链
binutils
mengqinggang 调整了
LoongArch 的 DWARF CIE 数据对齐系数 DWARF2_CIE_DATA_ALIGNMENT
到 -8
以期减少调试信息所占空间。Jinyang He
提醒道对
LoongArch32 应当保持此值为 -4
;预计后续实际进入主线的修改将包含此建议。
GCC
预计 GCC 14.1 正式版将于维护者时区的 5 月 7 日发布,请打包人们注意跟进。
LLVM
heiher 实现了「冗余 32 位符号扩展消除」的优化工序(pass)。此 pass 是受到了 RISC-V 的类似优化启发。
杂闻播报
OpenWrt 完成「合龙」
Weijie Gao 先前所做的
OpenWrt LoongArch64 移植已进入主线。虽然
OpenWrt 官方的快照构建(snapshot builds)仍未出现 loongarch64/generic
型号,但有些衍生项目则已开始提供成品镜像了,如
ImmortalWrt。
loong64
移植完成度首度登顶 Debian Ports
观察者 LinuxResearcher 报道说:(原文经过了编辑以保持与《每周一龙》文风相对一致)
2024 年 5 月 7 日,Debian Ports 中 loong64
移植的完成度稍稍领先了
ppc64
:loong64
已构建完成了 16195 个软件包,而 ppc64
则为 16190 个。
这是 loong64
的完成度在所有 Debian Ports 架构中首度登顶。
此事件更多是代表一种象征意义:
- 由于领先幅度很小,以后能否保持领先暂时未知;
loong64
编译失败的包比ppc64
要多:136 对 82;- 此外还有很多关键软件包,如
gnome-shell
,还没有编译出来。
截至北京时间 2024 年 5 月 7 日 13:50,龙架构的编译进度达到了 93.67769551%。到 5 月 21 日,距离龙架构进入 Debian Ports 就整整一周年了:希望一周年的时候,完成度仍然能保持最高,并尽早达到满足转为正式支持架构的完成度——96%。
张贴栏
本栏目可供张贴公益性质的各种信息。