GNU C Library 2.43 发布

gnu
软件资讯 软件资讯 发布于 1小时前 0 浏览 0 回复

GNU C Library 2.43 已发布,GNU C Library 被设计为可移植和高性能的 C 库。它遵循所有相关标准,包括 ISO C11 和 POSIX.1-2017,也是已知的最完善的国际化接口之一,广泛应用于 GNU/Linux 系统以及其他使用 Linux 内核的系统。

主要新功能:

  • ISO C23 free_sized、free_aligned_sized、memset_explicit 和 memalignment functions 已添加。
  • 根据 ISO C23 的规定,assert 宏被定义为支持可变参数,以便在复合字面量初始化器中处理未用括号包围且包含逗号的表达式。
  • 对于ISO C23,以下函数(bsearch、memchr、strchr、strpbrk、strrchr、strstr、wcschr、wcspbrk、wcsrchr、wcsstr和wmemchr)在返回指向输入数组内部的指针时,现已定义为宏:当输入参数是指向常量限定类型的指针时,这些宏将返回指向常量限定类型的指针。
  • ISO C23 typedef 名称 long_double_t、_Float32_t、_Float64_t 以及(在支持 _Float128 的平台上)_Float128_t(引入于 TS 18661-3:2015)已添加至 <math.h>。
  • ISO C23 可选时间基准 TIME_MONOTONIC、TIME_ACTIVE 和 TIME_THREAD_ACTIVE 已被纳入。
  • 在 Linux 系统上,新增了 mseal 函数。该函数可对内存映射进行封装,防止进程执行期间发生进一步修改,例如保护权限变更、取消映射、迁移至其他位置或缩小内存规模。
  • 从 CORE-MATH 项目引入了更多经过优化的数学函数,并实现了正确的舍入处理,特别是 acosh、asinh、atanh、erf、erfc、lgamma 和 tgamma 等函数。
  • 新增了针对 fma、fmaf、remainder、remaindef、frexpf、frexp、frexpl(binary128)和 frexpl(intel96)的优化实现。
  • acosf、acosf、asinhf、atan2f、atanhf、coshf、fmodf、lgammaf/lgammaf_r、log10f、remainderf、sinhf、sqrtf、tgammaf、y0/j0、y1/j1 和 yn/jn 的 SVID 处理已移至兼容符号,从而提升了性能。
  • 新增了使用 clang 编译的实验性支持。该功能要求至少使用 clang 18 版本,支持 aarch64-linux-gnu 或 x86_64-linux-gnu 目标架构,并需配备与 libgcc 兼容的运行时库(包括用于 pthread 取消和回溯运行时支持的 libgcc_s.so)。
  • 在 Linux 系统中新增 openat2 函数。该函数是对 openat 的扩展,提供其功能的超集。仅在 LFS 模式下支持,且为可取消的入口点。
  • 在 AArch64 架构上,malloc默认启用了对2MB透明巨页的支持(类似于设置 glibc.malloc.hugetlb=1 tunable)。
  • 对于支持 Scalable Matrix Extension (SME) 的AArch64 Linux目标平台,clone()系统调用封装器将禁用SME的ZA状态。
  • 在支持 Branch Target Identification (BTI) 扩展的AArch64目标平台上,可通过glibc.cpu.aarch64_bti可调参数强制要求进程内所有二进制文件支持BTI功能。
  • 在支持至少一种分支保护扩展(如分支目标识别或受保护控制堆栈)的AArch64 Linux目标平台上,可通过设置LD_DEBUG=security使动态链接器对加载的二进制文件发出警告,提示其不支持相应的安全特性。
  • 在AArch64架构上,新增了C23版本exp2m1、exp10m1、log10p1、log2p1及rsqrt函数的向量变体。
  • 在 RISC-V 上,添加了针对 RVV 优化的 memset 实现。
  • 在x86架构上,新增对英特尔Nova Lake和Wildcat Lake处理器的支持。
  • 测试套件已得到显著改进,尤其在scanf、strerror、strsignal函数及多线程测试方面。
  • Unicode 支持已更新至 Unicode 17.0.0。
  • 手册已更新并现代化,特别是其中大量代码示例也进行了相应调整。

更多详情可查看此处。 



同类文章推荐:

  • Zotero 8 正式发布
  • Spring Modulith 2.1 M1、2.0.2 和 1.4.7 发布
  • Spring AI 2.0.0-M2 现已发布
  • GIMP 3.0.8 发布
  • SQLiteStudio 3.4.21 发布
  • Node.js 25.4.0 发布