8.11. 编译器和开发工具
glibc
system()
函数现在无条件地恢复以前的信号掩码
在以前的版本中,如果 glibc
system()
函数从多个线程并行调用,SIGCHLD
信号的信号掩码可能无法被正确恢复。因此,在某些线程的 glibc
system()
函数返回后,SIGCHLD
信号保持阻止状态。
有了这个更新,glibc
system()
函数现在无条件恢复以前的信号掩码,即使并行 system()
函数调用正在运行。因此,如果从多个线程同时调用 glibc
system()
函数,则 SIGCHLD
信号不再被错误地阻止。
eu-addr2line -C
现在可以正确地识别其他参数
在以前的版本中,当您使用来自 elfutils
的 eu-addr2line
命令中的 -C
参数时,以下单个字符参数会消失。因此,eu-addr2line -Ci
命令的行为与 eu-addr2line -C
相同,而 eu-addr2line -iC
可以按预期正常工作。这个 bug 已被修复,eu-addr2line -Ci
现在识别这两个参数。
eu-addr2line -i
现在可以正确地处理 GCC 链接时间优化编译的代码
在以前的版本中,包含在elfutils
中的 libdw
库的 dwarf_getscopes
函数无法找到 GCC link-time 优化编译的函数的抽象原始定义。因此,当您在 eu-addr2line
命令中使用 -i
参数时,eu-addr2line
无法显示 gcc -flto
编译的代码的内联函数。有了此更新,libdw dwarf_getscopes
函数可以在内联范围的正确编译单元中看到,eu-addr2line -i
可以按预期正常工作。
使用 papi
的程序在关闭时不再停止
在以前的版本中,在 papi
初始化一些组件前,papi
初始化了线程。因此,描述数组中元素数量的某些组件的条目没有被设置正确的值,并尝试了零大小的内存分配。因此,后续访问和这些零大小内存分配的释放导致程序停止。
这个 bug 已解决,使用 papi
的程序在关闭时不再停止。
OpenJDK XML 签名提供者现在可以在 FIPS 模式下正常工作
在以前的版本中,OpenJDK XML 签名提供者无法在 FIPS 模式下操作。由于对 FIPS 模式支持的改进,OpenJDK XML 签名提供者现在在 FIPS 模式下启用。