第 3 章 编译器和工具


c 异常处理不再导致意外终止

在以前的版本中,在 32 位 Intel 构架中调用了一个不正确的 unwind 例程,因为代码处理 C 异常出现错误检查。因此,glibc 库的 pthread_cond_wait () 函数可能会使用 glibc 有时意外终止使用 C 编程语言写入数据。修复了错误检查,意外终止不再发生。(BZ#1104812)

使用 -pie 选项创建的可执行文件现在可以正确地启动

在以前的版本中,binutils 软件包中包含的链接器为 32 位 Intel 构架的独立于位置的二进制文件生成不正确的动态重新定位。因此,使用 -pie 编译器选项构建代码会生成无法启动的二进制文件。链接器已被修复,现在会生成独立于位置运行的可执行文件。(BZ#1427285)

根据 /etc/hosts.conf,对 API 的线程取消支持

thread-cancellation 对 setmntent () 函数中的一个缺陷可能会导致函数失败,并返回预期成功的错误。因此,依赖 setmntent () 的程序可能无法启动。setmntent () 函数已被修复,现在可以按预期工作。
此外,setttyent ()setnetgrent () 函数以及所有依赖于 /etc/hosts.conf 文件的 API 已被改进,以便为线程取消提供改进的支持。(BZ#1437147)

在初始化数据后,ld 不再生成带有代码的无效可执行文件

在以前的版本中,当代码在数据初始化为零值后,binutils ld linker 将代码放在内存中不正确的位置。因此,链接可执行文件中的程序会意外终止,并显示分段错误。已修复链接器,以正确地为数据分配空间,并将可执行代码定位到正确的起始地址中。因此,链接的可执行文件现在可以正确地运行。(BZ#1476412)

当提供较长的过滤器列表时,ss 程序不再停止

在以前的版本中,为 ss 命令提供过滤器的长列表会导致整数值溢出。因此,的 工具可能会停止程序执行。在这个版本中,源代码中的错误位会被修正,上面描述的问题不再发生。(BZ#1476664)

SystemTap 不再会在负载过重的系统中导致内核 panic

在以前的版本中,当多个进程同时添加和删除 SystemTap 工具探测时,会出现内核 panic。因此,在某些情况下,在负载过重的系统上卸载 SystemTap 模块会导致内核 panic。现在,删除探测的步骤已被修复,SystemTap 不再会在上述情况下造成内核 panic。(BZ#1525651)
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat