这个版本为多个平台和组件带来了一系列稳定性与兼容性改进:
- fruity:恢复在 FLUSHING 状态期间调用
handle_events_completed,使pending_usb_ops最终能够清空,从而修复 PortableCoreDevice flush 无限循环。感谢 @mrmacete。 - compiler:重命名存在冲突的 Go 符号。感谢 @NSEcho。
- compiler:通过 memfd 加载后端并提供后备方案,从而在可行时继续享受避免临时文件的优势。
- linux:修复 memfd 受限时的系统会话问题(在 Android 的 Termux 环境中观察到)。
- elf-module:将 {Section,Symbol}Details 改为 boxed 类型,通过添加 ref/copy/free 语义并更新 Vala 绑定,使绑定能够安全地传递和持有它们。
- process:让 ThreadDetails free 函数能安全处理 NULL。
- darwin-module:让 Image free 函数能安全处理 NULL。
- linux:初始化变量,消除编译器无法证明返回 TRUE 时输出参数已初始化所产生的警告。
- linux:处理解释器 exec 包装二进制文件(例如
ld.so <program>):检测 AT_BASE == 0,并从 /proc/self/maps 恢复真正的程序和解释器映射。
oleavr