4.10. 编译器和开发工具
elfutils
rebase 到版本 0.190
elfutils
软件包已更新至版本 0.190。主要改进包括:
-
libelf
库现在支持相对重定位(RELR)。 -
libdw
库现在识别.debug_[ct]u_index
部分。 -
eu-readelf
工具现在支持一个新的-Ds
,--use-dynamic --symbol
选项,来通过动态片段,而不是使用 ELF 部分显示符号。 -
eu-readelf
工具现在可以显示.gdb_index
版本 9。 -
新的
eu-scrlines
工具编译与指定的 DWARF 或 ELF 文件关联的源文件的列表。 -
debuginfod
服务器模式已对文件名表示中的 60% 的压缩进行了更改(这需要重新索引)。
valgrind
更新至 3.22
valgrind
软件包已更新至版本 3.22。主要改进包括:
-
valgrind
memcheck
现在检查提供给 C 函数memalign
、posix_memalign
和aligned_alloc
的值,以及与new
运算符对齐的 C++17 是否为有效的对齐值。 -
valgrind
memcheck
现在支持对 C++14 大小的 和 C++17 对齐的new
和delete
运算符的不匹配检测。 -
添加了对 DWARF 调试信息的延迟读取的支持,从而在安装了
debuginfo
软件包时加快启动速度。
移动了 Clang 资源目录
Clang 存储其内部标头和库的 Clang 资源目录,已从 /usr/lib64/clang/17
移到 /usr/lib/clang/17
。
新的 grafana-selinux
软件包
在以前的版本中,grafana-server
的默认安装作为 unconfined_service_t
SELinux 类型运行。这个更新添加了新的 grafana-selinux
软件包,其包含 grafana-server
的 SELinux 策略,并且默认使用 grafana-server
安装了。因此,grafana-server
现在作为 grafana_t
SELinux 类型运行。
更新了 GCC Toolset 13
GCC Toolset 13 是一个编译器工具集,其提供开发工具的最新版本。它以 AppStream 存储库中的 Software Collection 的形式作为 Application Stream 提供。
RHEL 8.10 中引入的显著变化包括:
- GCC 编译器已更新至版本 13.2.1,它提供了上游 GCC 中可用的很多 bug 修复和增强。
-
binutils
现在通过-march=znver5
编译器切换支持基于znver5
核的 AMD CPU。 -
annobin
已更新至版本 12.32。 -
GCC 的
annobin
插件现在对存储在目标文件的注释默认使用更压缩的格式,使目标文件更小,链接时间更快,特别是在大型复杂的程序中。
GCC Toolset 13 提供了以下工具和版本:
工具 | 版本 |
---|---|
GCC | 13.2.1 |
GDB | 12.1 |
binutils | 2.40 |
dwz | 0.14 |
annobin | 12.32 |
要安装 GCC Toolset 13,以 root 用户身份运行以下命令:
# yum install gcc-toolset-13
要运行 GCC Toolset 13 中的工具:
$ scl enable gcc-toolset-13 tool
要运行一个 shell 会话,其中 GCC Toolset 13 中的工具版本会覆盖这些工具的系统版本:
$ scl enable gcc-toolset-13 bash
如需更多信息,请参阅 GCC Toolset 13 和 使用 GCC Toolset。
Jira:RHEL-25405[1]
LLVM Toolset rebase 到版本 17.0.6
LLVM Toolset 已更新至版本 17.0.6。
主要改进包括:
- 不透明指针迁移现已完成。
- 在中端优化中删除了对传统通行管理器的支持。
Clang 更改:
- C++20 协程不再被视为实验性的。
-
改进了
std::move
函数的代码生成,以及未优化构建中类似的代码生成。
如需更多信息,请参阅 LLVM 和 Clang 上游发行注记。
Rust Toolset rebase 到版本 1.75.0
Rust Toolset 已更新至版本 1.75.0。
主要改进包括:
- 恒定的评估时间现在是无限制的
- 清理程序 panic 消息
- 货物注册认证
-
async fn
和特征中的不透明返回类型
Go Toolset rebase 到版本 1.21.0
Go Toolset 已更新至版本 1.21.0。
主要改进包括:
-
已添加了
min
、max
和clear
内置。 - 已添加了对配置文件指导的优化的官方支持。
- 现在,更精确地定义了软件包初始化顺序。
- 改进了类型延迟。
- 改进了向后兼容性支持。
如需更多信息,请参阅 Go 上游发行注记。
Jira:RHEL-11872[1]
papi
支持新的处理器微架构
有了此增强,您可以使用以下处理器微架构上存在的 papi
事件访问性能监控硬件:
- AMD Zen 4
- 第四代 Intel® Xeon® 可扩展处理器
Jira:RHEL-9336[1], Jira:RHEL-9320, Jira:RHEL-9337
ant rebase 到版本 1.10.9
ant:1.10
模块流已更新至版本 1.10.9。此版本使用提供方类和提供方参数提供对代码签名的支持。
更新的 ant:1.10
模块流仅提供 ant
和 ant-lib
软件包。与 Ant 相关的剩余软件包在不支持的 CodeReady Linux Builder (CRB)存储库中的 javapackages-tools
模块中分发,且没有被更新。
更新的 ant:1.10
模块流中的软件包无法与 javapackages-tools
模块中的软件包并行使用。如果要使用与 Ant 相关的软件包的完整集合,您必须卸载 ant:1.10
模块,并禁用它,启用 CRB 存储库,并安装 javapackages-tools
模块。
新软件包:maven-openjdk21
maven:3.8
模块流现在包含 maven-openjdk21
子软件包,它为 OpenJDK 21 提供了 Maven JDK 绑定,并配置了 Maven ,以使用系统 OpenJDK 21。
Jira:RHEL-17126[1]
cmake
rebase 到版本 3.26
cmake
软件包已更新至版本 3.26。主要改进包括:
- 添加了对 C17 和 C18 语言标准的支持。
-
cmake
现在可以查询操作系统识别信息的/etc/os-release
文件。 -
添加了对 CUDA 20 和
nvtx3
库的支持。 - 添加了对 Python 稳定的应用程序二进制接口的支持。
- 在 Simplified Wrapper 和 Interface Generator (SWIG)工具中添加了对 Perl 5 的支持。