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 模式下启用。