每周一龙:第 9 期
每周一都为大家报道 LoongArch 社区最前线的第一手新鲜资讯!
如无特别说明,文中提及的日期、时间都为北京时间(UTC+8)。
先「马」再看
本栏目的内容具有一定延续性,将持续追踪报道 LoongArch 领域的重要或长期项目(坑)。
Linux
7 月 13 日,hev 修复了
copy_user_fast
和 clear_user_fast
各自异常处理路径中的一处下溢。
7 月 13 日,FreeFlyingSheep 贴出了 LS7A 集成网卡的驱动补丁草稿,请社区给点意见。
7 月 11 日,xen0n 将龙架构 CPU 空闲时执行的函数名字加入了
perf
工具的相关列表,以去除 perf
输出中的这部分噪声。
7 月 10 日,@specialpointcentral 贴出了龙芯二进制翻译扩展(LBT)的内核适配。 截至发稿时该补丁已迭代到第三版。
7 月 9 日,@donmor 尝试修复龙架构内核的命令行处理, 使其能正确支持以内建命令行来扩展或代替引导器所传的命令行。 截至发稿时该补丁已迭代到第四版。
工具链
LLVM
上周 7 月 11 日开始 hev 陆续交了一串代码生成优化:补丁一、补丁二、补丁三、补丁四,主要都是告诉 LLVM 优化器更多相关信息以辅助其决策。
同样在 7 月 11 日,leecheechen 为 Clang 增加了 LSX/LASX 的内联汇编支持。
xen0n 也在这一天整理了龙架构指令定义文件让它清爽一点,也为接下来的重构作准备。
Rust
中国时间 7 月 13 日晚间,Rust 1.71.0 正式发布。 龙架构在该版本首次作为 Tier 2 with host tools 获得支持。 已经可以通过 rustup 装上标准库,用来交叉编译了(当然,目前仍需自行准备 C/C++ 交叉工具链)。
$ rustup target list | grep loong
loongarch64-unknown-linux-gnu (installed)
在此之后,为了龙架构电脑用户也能方便使用官方安装渠道 rustup.rs,hev 提交了为其稳定分支 开启龙架构二进制构建的变更并请求发布新版,xen0n 整了个活:儿:让安装脚本可以识别新旧世界,为旧世界用户报个友好的错。
杂项
睽违两年,GNU GRUB 的 2.12-rc1 版本在 7 月 10 日正式被 tagged。 2.12 正式版预计将在一个月内发布,届时所有发行版都可以丢掉一坨补丁了。
社区整活:儿:
本栏目接受任何网友的投稿,只要内容与 LoongArch 有关,并可以为读者带来价值, 无论严肃贡献(整的大活:儿:)或是博君一笑都一概欢迎!
日前 Deepin 社区技术委员会(TC)在例会上讨论了合并龙架构支持的一些潜在问题等。 会议也讨论了 RISC-V 移植的类似问题。(感谢 Revy 的线索投递。)
xen0n 整了个 156 字节的新旧世界内核 ABI 检测工具 (看源码需要梯子,不过总共也没几行,复杂度主要在于 ELF 头需要手工构造)。
Try it yourself!
$ base64 -d > check-new-world <<EOF
f0VMRgIBAQAAAAAAAAAAAAIAAgEBAAAAeAAgAAAAAABAAAAAAAAAAAAAAAAA
AAAAQQAAAEAAOAABAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAACAAAAAAAAAA
IAAAAAAAJAAAAAAAAAAkAAAAAAAAAAAAAQAAAAAABCiAAwUAFQAGABUAByCA
AwsYggMAACsAC3iBAwAAKwAxen0n
EOF
$ chmod a+x check-new-world
$ ls -l check-new-world
-rwxr-xr-x 1 xenon xenon 156 Jul 17 14:30 check-new-world.tiny
$ ./check-new-world && echo "new world" || echo "old world"
new world
张贴栏
本栏目可供张贴公益性质的各种信息。
- 本周报持续接受网友投稿。欢迎来上游坐坐!