系统极客一直在努力
专注操作系统及软件使用技能

Glibc 2.43 发布:全面拥抱 ISO C23,性能和安全性双跃升

Linux

GNU 项目组最近低调发布了 GNU C Library 的最新版本——Glibc 2.43。作为连接用户空间程序与 Linux 内核的核心枢纽,Glibc 的每一次更新,都牵动着无数底层开发者的神经。

Glibc 2.43 主要更新

深度适配 ISO C23 标准

新版本在兼容 ISO C23 标准的道路上迈出了关键一步:

  • 新增了多个标准化的内存管理函数,包括free_sizedfree_aligned_sizedmemset_explicit
  • 同时,assert宏的行为已按标准更新,并同步引入了 C23 中定义的数学与时间相关常量和宏。

为确保「常量正确性」,部分长期存在的 API 接口进行了调整。开发者可能需要检查并小幅修改现有代码,以适配这些变更。

筑牢安全防线

在安全方面,Glibc 2.43 重点修复了 3 个关键漏洞:

  • 修复了memalign函数中可能导致堆损坏(heap corruption)的问题;
  • 堵住了网络名称解析函数中存在的信息泄露漏洞;
  • 解决了wordexp函数因未初始化内存而可能暴露敏感数据的风险。

性能优化与架构支持

性能提升是本次更新的另一大亮点:通过集成 CORE-MATH 项目的优化成果,核心数学函数的计算速度与精度均有显著增强。

在硬件架构支持上,新版本也带来了针对性改进:

  • AArch64:整体行为表现更加规范和高效;
  • RISC-V:新增了高度优化的memset实现;
  • Intel x86:提前加入了对下一代处理器架构的支持。

Linux 系统级特性及其他

面向 Linux 系统,Glibc 2.43 引入了全新的系统调用接口,包括openat2以及用于内存密封(memory-sealing)的mseal函数。

此外,新版本还将「区域设置」(locale data)数据升级至 Unicode 17.0,并实验性地支持使用 Clang 编译器进行构建,为开发者提供了更灵活的工具链选择。


要深入了解更多技术细节?请查阅官方公告发行说明

赞(0)
分享到

评论 抢沙发