GNU C Library 2.39 已发布,GNU C Library 被设计为可移植和高性能的 C 库。它遵循所有相关标准,包括 ISO C11 和 POSIX.1-2017,也是已知的最完善的国际化接口之一,广泛应用于 GNU/Linux 系统以及其他使用 Linux 内核的系统。
此版本带来了多项新功能、安全修复和其他增强功能,包括与 x86 shadow-stack 机制的集成、用于控制 groups 的几个新 posix_spawn() 变体、pidfd_spawn() 和 pidfd_spawnp()、C2X stdbit.h header、移除 libcrypt 库等。
一些亮点包括:
-
x86-64 系统上的新增可调整项“glibc.cpu.plt_rewrite”,可启用 PLT rewrite,以便使用直接分支重写 PLT 中的间接分支。
-
现在内核支持已全部就绪,与 Linux 6.6+ 内核中的 Shadow Stack 接口同步。
-
为 Linux 添加了函数 posix_spawnattr_getcgroup_np 和 posix_spawnattr_setcgroup_np,以便以 race-free 的方式在新进程中设置 cgroup v2。
-
Linux 的 pidfd_spawn 和 pidfd_swap 函数与 posix_spawn 类似,但返回文件描述符而不是进程 ID。为此,还添加了 pidfd_getpid 用于从进程文件描述符获取进程 ID。
-
stdbit.h header 已从 ISO C2X 添加。
-
Libcrypt 已从 GNU C 库中删除。用户应改用 libxcrypt。
-
IA-64 Linux 配置不再受支持,因为 Itanium 支持已从 Linux 内核中删除。
-
各种安全修复,包括本地权限升级问题;以及许多错误修复。
更多详细信息可参阅发布公告。