A.2. binutils 中的更改


Red Hat Developer Toolset 11.0 与 binutils 2.36 一起分发。

从以前的 Red Hat Developer Toolset 版本开始添加了或修改了以下功能:

assembler

  • 在 Intel 构架上,支持 AMX、AVX VNNI、HRESET、KeySTOREr、TDX 和 UINTR 指令。
  • 当设置 ELF 部分的链接顺序属性时,您可以使用数字部分索引而不是符号名称。
  • 支持以下 ARM 内核: Cortex-A78、Cortex-A78AE、Cortex-A78C、Cortex-X1、Cortex-R82、Neoverse V1 和 Neoverse N2。
  • 在 64 位 ARM 架构中,支持 Armv8-R 和 Armv8.7-A ISA 扩展。
  • 添加了 .nop 指令,它生成单个 no-operation 指令,它将在任何目标上工作。
  • 支持 SHF_GNU_RETAIN 标志。它指定该部分不应由链接器收集。这个标志可以使用 .section 指令中的 R 标志应用到部分。

链接器

  • 添加了一个新的 libdep 插件。它记录了链接静态库中的依赖关系,并在执行最终链接时使用它们。
  • 添加了一个 new -error-handling-script=<NAME > 命令行选项。当遇到未定义符号或缺失的库时,它会运行帮助程序脚本。
  • 现在,链接器会去除 .ctf 部分中的类型。您可以使用 new-- ctf-share-types 命令行选项来指定链接器如何进行此操作。此选项的默认值( 共享为unconflicted )会生成最紧凑的输出。
  • 默认情况下,linker 省略 .ctf 部分中的 variable 部分,可节省空间。对于拥有自己的符号表的模拟的项目来说,此行为可能不适合,它们不会在 ELF 符号表中反映。
  • 支持 SHF_GNU_RETAIN ELF 部分。此标志指定该部分不应由链接器收集。

其他二进制工具

  • nm: 添加了一个新的命令行选项- ifunc-chars=CHARS,它指定了一个或多个字符的字符串。在显示全局 ifunc 符号时,第一个字符用作类型字符。显示本地 ifunc 符号时使用第二个字符(如果存在)。
  • ar :之前未使用的 l modifier 可以用来指定静态库的依赖项。此 l 选项(或其较长的 form --record-libdeps)的参数存储在存档的 __.LIBDEP 成员中,链接器可以在链接时读取。
  • readelf: 使用 -lto-syms 命令行选项,可以显示 LTO 符号表部分的内容。
  • readelf 接受 -C 命令行选项,该选项可启用符号名解。另外,添加了- demangle=<style&gt; ,--no-demangle ,--recurse -limit, 和--no-recurse-limit 选项。
  • 为缓解 CVE-2021-42574,使用 RHSA-2021:4730 公告的发行版本向 binutils 添加了一个新的命令行选项。

    显示名称或字符串的工具(readelf字符串nm、和 objdump) 现在有一个新的-unicode (-U)命令行选项,用于控制 Unicode 字符的处理方式。可以为选项设置以下值:

    • --Unicode=default 将 BiDi 字符视为正常的工具。当不使用-- unicode 选项时,这是默认行为。
    • --Unicode=locale 根据当前的区域设置 显示 BiDi 字符。
    • --Unicode=hex 将 BiDi 字符显示为十六进制字节值。
    • --Unicode=escape 显示 BiDi 字符作为 Unicode 转义序列。
    • --Unicode=highlight 显示 BiDi 字符,如果输出设备支持,则以红色突出显示的 Unicode 转义序列。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat