第 3 章 编译器和工具


GCC 支持在 System z 二进制文件上热修补

gcc hotpatch 属性实现在 System z 二进制文件中在线修补多线程代码的支持。在这个版本中,可以使用 function 属性选择热修补的特定功能,并使用 -mhotpatch= 命令行选项为所有功能启用热修补。
当启用热补丁对软件大小和性能造成负面影响时,建议对特定功能使用热修补,而不是一般启用热补丁支持。

更改了 TLS 版本的 curl 支持

这个更新引进了新的 options- tlsv1.0,--tlsv1.1,-- tlsv1.1 , 和-tlsv1.2 来指定要由 NSS 协商的 TLS 协议的次版本。针对此目的,在 libcurl API 中引入了对应的 CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1 和 CURL_SSLVERSION_TLSv1_2 常数。curl 的现有-- tlsv1 选项的语义和 libcurl API 的 CURL_SSLVERSION_TLSv1 常被修改,以协商客户端和服务器支持的最高 TLS 1.x 协议。

Python ConfigParser 在没有值的情况下处理选项

Python ConfigParser 设计为需要每个选项的值,但某些配置文件(如 my.cnf )包含没有值的选项。因此,ConfigParser 无法读取这样的配置文件。此功能已向后移植到 Python 2.6.6,ConfigParser 现在可以读取包含没有值的选项的配置文件。

tcpdump 支持 -J、-j 和 --time-stamp-precision 选项

作为内核、glibc 和 libpcap 现在提供 API 来获取纳秒分辨率时间戳,tcpdump 已被更新来利用此功能。用户现在可以查询哪些时间戳源可用(-J),设置特定的时间戳源(-j),以及请求带有指定分辨率(--time-stamp-precision)的时间戳。

改进了在 SCSI 设备间复制数据的工具

sg3_utils 软件包增加了在从 SCSI 协议中受益的存储设备之间复制数据的更有效的工具。要启用这个功能,sg_xcopysg_copy_results 程序已向后移植到 sg3_utils 软件包。

ethtool 支持定义自定义 RSS 哈希密钥

已将改进添加到 ethtool 中,以便现在可以定义 RSS 的自定义哈希密钥。这种改进有助于根据接收的流量使用接收队列,并通过为预期的流量选择合适的键来允许性能和安全增强。

在 tcpdump 中添加了 Setdirection 支持

tcpdump 软件包现在包含 setdirection 支持;这允许将 的功能指定为 -P 标志的参数,仅接收的数据包(-P inout),仅应捕获发送数据包(-P out)或两者(-P inout)。

sysctl 现在可以从一组系统目录中读取

在这个版本中,在 sysctl 工具中引进了 new- system 选项。这个选项可让 sysctl 处理一组系统目录中的配置文件。

mcelog 软件包已升级到上游版本 109

mcelog 软件包已升级到上游版本 109,它提供很多程序错误修复和增强。值得注意的是,mcelog 现在支持 Intel Core i7 CPU 架构。

biosdevname 升级到上游版本 0.6.2

biosdevname 软件包已升级至上游版本 0.6.2,其他功能还为新的 Mellanox 驱动程序提供 dev_port 属性,并允许忽略 FCoE 设备的命名。

PCRE 库的改进

要允许 grep 工具从 PCRE 匹配失败(如果二进制文件不是有效的 UTF-8 序列)中恢复,以下功能已向后移植到 PCRE 库:
  • pcre_exec ()函数现在检查是否有范围启动偏移值,并报告 PCRE_ERROR_BADOFFSET 错误,而不是报告 PCRE_ERROR_NOMATCH 错误或无限循环。
  • 如果调用 pcre_exec ()函数来对无效的 UTF-8 主题字符串执行 UTF-8 匹配,并且 ovector 数组参数足够大,则无效的 UTF-8 字节中第一个主题字符串的偏移以及详细原因代码会在 ovector 数组元素中返回。此外,现在还提供 pcretest 工具来显示这些详细信息。请注意,在此次更新中,pcre_compile () 函数报告第一个无效的 UTF-8 字节,而不是最后的字节。另请注意,没有用于公共用途的 pcre_valid_utf8 ()函数的签名已被更改。最后,请注意 pcretest 工具现在将人类可读的错误消息附加到错误代码中。

支持 glibc Dynamic Loader 中的 Intel AVX-512

glibc 动态加载程序现在支持 Intel AVX-512 扩展。这个版本允许动态加载程序根据需要保存和恢复 AVX-512 注册,从而防止启用了 AVX-512 的应用程序失败,因为也使用 AVX-512 的审计模块。

Valgrind 识别 Intel MPX 指令

Valgrind 无法识别 Intel Memory Protection Extensions (MPX)指令或使用 MPX bnd 前缀的说明。因此,Valgrind 终止了使用带有 SIGKILL 信号的 MPX 指令的程序。Valgrind 现在可识别新的 MPX 指令和 bnd 前缀。所有新的 MPX 指令目前作为无操作说明实施,并且忽略了 bnd 前缀。因此,使用 MPX 指令或 bnd 前缀的程序在 Valgrind 下运行,就像 CPU 上没有启用 MPX,且不再被终止。

自由支持人类可读的输出

new -h 选项已添加到 free 实用程序中。这个选项的目的是显示所有输出字段自动扩展到最短的三位表示,包括单元,使输出方便人类可读的。

w 支持 -i 选项

w 实用程序现在包含使用 -i 选项来显示 IP 地址,而不是在 FROM 列中显示主机名。

vim 更新到版本 7.4

vim 软件包已更新至版本 7.4,它提供各种程序错误修复和增强。主要变化包括:
  • Vim 文本编辑器现在支持通过设置 undofile 选项来启用的永久恢复更改。默认情况下,卸载缓冲区时,Vim 会销毁为该缓冲区创建的更改树。但是,在启用永久恢复更改时,Vim 将自动保存更改历史记录,并在重新打开缓冲区后恢复它。
  • 这个版本引入了一个新的正则表达式引擎。前面的引擎使用了 backtracking 算法;模式以一种方式与文本匹配,当此尝试失败时,模式以另一种方式匹配。此引擎对简单模式可以正常工作,但需要更长的时间才能匹配较长文本中的复杂模式。新引擎使用状态计算机逻辑;它尝试在当前字符尝试所有可能的替代方案,并存储模式可能的状态。虽然对于简单模式来说,这个过程稍慢,但与较长的文本匹配复杂模式会更快。最值得注意的是,此更改改进了带有长行的 JavaScript 和 XML 文件的语法高亮显示。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.