[250123] Rust Coreutils 0.0.29 发布:兼容性与性能提升 | GDB 16.1 发布

160 阅读4分钟

Rust Coreutils 0.0.29 发布:兼容性与性能提升

Rust Coreutils 0.0.29 版本正式发布!该版本在兼容性、性能和社区贡献方面取得了显著进展。

🌟 主要亮点:

  • 更佳的 GNU 兼容性: 通过的 GNU 测试数量增加到 506 个(相比 0.0.28 版本增加了 30 个),失败的测试数量减少到 67 个(减少了 27 个)。df, dircolors, chmod, chroot, comm, seq, split, uniq 等多个命令现已实现与 GNU 测试 100% 兼容。
  • 社区贡献: 此版本由 32 位贡献者共同完成,其中包括 18 位新贡献者。
  • 性能提升: du, echoseq 等工具的性能得到优化。

📊 GNU 测试套件兼容性比较:

结果0.0.280.0.29变化0.0.28占比0.0.29占比占比变化
通过476506+3077.65%82.38%+4.73%
跳过4341-27.01%6.68%-0.33%
失败9467-2715.34%10.92%-4.42%
错误0000.00%0.00%0.00%

🆕 更新详情:

此版本包含了众多改进和错误修复,涵盖了 basenc, base32/base64, checksum, chmod, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, fmt, head, install, kill, ls, mkfifo, more, mv, numfmt, printf, rm, seq, sort, split, stat, tail, tr, tsort, uniq, wcuucore 等命令和核心库。 具体改 进包括错误处理、性能优化、功能增强和兼容性修复等。 更多细节请参考完整的变更日志:0.0.28...0.0.29

来源:
github.com/uutils/core…

GDB 16.1 发布

GDB (GNU Project debugger) 是一款强大的调试器,允许你查看程序内部的运行情况,包括程序执行过程和崩溃瞬间的状态。它主要通过以下四种方式帮助你发现和修复 bug:

  1. 启动程序,并指定可能影响其行为的任何参数。
  2. 设置断点,使程序在特定条件下停止执行。
  3. 检查程序停止时的状态,例如变量值、调用栈等。
  4. 修改程序中的内容,以便进行实验和修复 bug。

GDB 支持本地调试、远程调试和模拟器调试,并且可以在大多数流行的 UNIX、Microsoft Windows 和 macOS 系统上运行。

近日,GDB 16.1 版本现已发布!

一、下载与相关信息

二、新特性与改进

  • 架构支持:
    • Loongarch 架构新增 record/replay 支持。
  • 内存调试:
    • 支持对标记数据指针设置观察点。
    • AArch64 baremetal 支持 MTE (内存标记扩展) 调试。
  • 新工具:
    • 新增 gstack 脚本,可使用 GDB 打印运行进程的堆栈跟踪。
  • 断点增强:
    • 处于“pending”状态的断点的 threadtask 关键字在创建时解析,而不是在断点变为非 pending 状态时解析。
    • 线程特定断点仅插入到目标线程正在运行的程序空间中。
  • Intel Processor Trace 支持增强:
    • 支持打印异步事件。
    • 支持打印 ptwrite 有效负载。
  • 命令变更:
    • remove-symbol-file -a ADDRESS 命令现在接受完整的表达式作为地址。
    • show configuration 命令现在打印 GDB 使用的 GNU readline 版本。
    • maintenance print remote-registers 命令新增 "Expedited" 列,指示上次 GDB 接收的停止回复数据包中包含哪些寄存器。
    • 多个以文件名作为参数的命令现在要求文件名用引号括起来,如果参数包含空格或引号字符。
  • Python API 变更:
    • 新增 gdb.missing_objfile 模块,方便处理打开 core 文件时缺少 objfile 的情况。也添加了 GDB 命令来查询、启用和禁用使用此 API 创建的处理程序。
    • 新增 gdb.tui_enabled 事件。
    • 新增 gdb.Symbol.is_artificial 属性。
    • 新增 gdb.record.clear 函数,用于清除当前记录的跟踪数据。
    • gdb.Architecture.integer_type()signed 参数不再接受非布尔类型。
    • gdb.MICommand.installed 属性只能设置为 True 或 False。
    • gdb.Breakpoint 构造函数的 qualified 参数不再接受非布尔类型。
  • 调试适配器协议 (DAP) 变更:
    • scopes 请求现在将返回一个包含来自堆栈帧编译单元的全局变量的作用域。
    • scopes 请求将在适当时返回一个 returnValue 作用域,其中包含来自最新 stepOut 命令的返回值。
    • 重写了 launchattach 请求,使其符合规范的一些说明。现在它们可以在 initialized 事件之后随时发送,但在发送 configurationDone 请求之前不会生效(或发送响应)。
    • variables 请求不会返回人工符号。
  • 远程协议:
    • 新增远程数据包:vFile:stat
    • 新增远程数据包:x addr,length
  • 其他:
    • 支持 Ada 的 Object_Size 属性。
    • 行号、GDB 命令和列表标题行现在支持样式设置。
    • 现在可以关闭在指定与当前帧不匹配的语言时发出的警告。
    • 对于 ARM 目标,jmp_buf 中 pc 的偏移量已修复为与 glibc 2.20 及更高版本匹配。这应该只在不使用 libc 探针时才有意义。当使用不兼容的 libc(如 uclibc 或 newlib)或旧的 glibc 时,这可能会导致损坏。

三、已弃用或移除的功能

  • 移除对 QNX Neutrino 的支持。
  • 移除对 Nios II 目标的支持。
  • 移除对 Intel MPX 的支持。

来源:
sourceware.org/gdb/downloa…




更多内容请查阅 : blog-250123


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法