What's been going on in w64devkit the past year
本文盘点 w64devkit 过去一年的演进,覆盖发布安全、工具链、新工具与运行时。发布侧引入代码签名、GitHub Actions 自动构建和不可篡改发布,签名工具 aas-sign 被 MSYS2 采用;x64 版本改为 multilib,可用 -m32 或 i686-w64-mingw32 前缀工具编译 32 位程序。工具链侧,Binutils 现在按需自动升级到 bigobj COFF,缓解 C++ 大工程链接失败并恢复 cgo,静态运行时从 -Os 改为 -O2。新增 CMake/Ninja、Ccache、quilt、NSIS、zstd、widl 等工具,并重写 C11 threads 实现(基于 SRW 锁,需 Windows 7+,不含递归锁)。未来计划分发 FatLTO 运行时并重新启用 LTO,但作者对 Fortran 运行时错误仍缺乏信心,上游拒收相关补丁。
推荐收录:文章不是简单的新版本通告,而是给出了发布签名与不可篡改发布的具体做法、Binutils bigobj 自动升级的原因与取舍、从 -Os 转向 -O2 的依据,以及 C11 threads 实现中对标准缺陷的批评。对维护 Windows 交叉工具链、构建分发或发布安全的开发者有直接参考价值,其中 LTO 缺陷修复与 FatLTO 设想也可迁移到其他编译器分发场景。