GNU C Library 2.42 发布


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

新版本包括新增多个数学函数,termios.h 接口支持任意波特率,基于 SFrame 的堆栈跟踪支持(详见本文),内存保护页支持以及一些安全修复。

主要新功能:

  • <math.h> 中现在支持下列 ISO C23 function families(在 TS 18661-4:2015 中引入)。 每个系列包括float、double、long double、_FloatN 和 _FloatNx,以及 <tgmath.h> 中的一个类型通用宏。
    • 幂和绝对值函数:compoundn、pown、powr、rootn, 平方根。
  • 在 Linux 上,添加了 pthread_gettid_np 函数。
  • 现在支持 ISO C2Y family of unsigned abs functions,即 uabs、ulabs、ullabs 和 uimaxabs。
  • 在 Linux 上,<termios.h> 接口现在支持任意波特率; speed_t 被重新定义为简单的波特率,指定为 unsigned int,与内核接口匹配。
  • malloc(tcache)中的线程本地缓存现在支持大块缓存。可通过将 tunabl glibc.malloc.tcache_max 设置为较大值(最大值为 4194304)来启用该功能。对于较小的数据块,Tcache 的速度也明显更快。
  • 新的配置选项“--enable-sframe”可用于启用 GNU C 库的 SFrame 支持。SFrame 是一种新的堆栈跟踪信息格式,可用于反跟踪。 它需要最低版本为 2.45 的 binutils。
  • pthread_create 添加了通过 madvise 和 MADV_GUARD_INSTALL flag 对轻量级堆栈保护页面的支持。
  • 从 CORE-MATH 项目中导入了更多经过优化和正确舍入的数学函数,特别是 acospif、asinpif、atanpif、atan2pif、cospif、sinpif、tanpif。
  • 测试套件已得到显著扩展,包括 printf 和 scanf 函数族的多种变体功能。
  • 对手册进行了大幅扩展和更新,特别是线程、终端、文件系统、资源和数学章节。
  • 已添加代码来检测 x86-64 Intel Arrow Lake、Panther Lake、 Clearwater Forest 和 Diamond Rapids 微架构。
  • 关于 S390,增加了对新 z17 平台的支持。

已弃用和删除的功能以及其他影响兼容性的更改:

  • glibc.rtld.execstack tunable 现在支持兼容模式,允许程序通过动态加载的共享库获得可执行堆栈。
  • 在 Linux 上,<termio.h> header 和  <sys/ioctl.h> 中的 struct termio 定义已被删除。自 1988 年第一版 POSIX.1 以来,termio 接口就已过时,取而代之的是 <termios.h>。
  • 在所有架构上,pthread mutexes 的 TX lock elision 的支持已被弃用,并将在下一版本中删除。
  • 在支持 Scalable Matrix Extension (SME) 的 AArch64 Linux targets 上,setjmp 和 sigsetjmp 将禁用 SME 的 ZA 状态。

构建和运行时要求的变更:

  • 现在需要 GCC 12.1 或更高版本来构建 GNU C Library。
  • 现在需要 GNU Binutils 2.39 或更高版本来构建 GNU C Library。

更多详情可查看此处。 


相關推薦

2024-07-25

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

2024-02-02

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

2022-06-24

它将不再接受维护更新。 其他更新内容包括: GNU C Library 2.35 GCC 11.3.0 GNU Binutils 2.38 systemd 250.7 DBus 1.14.0 Nettle 3.8 更多详情可查看:https://kaosx.us/news/2022/kaos06/

2023-03-28

g Server 21.1.7 LLVM/Clang 15.0.7 GNU Binutils 2.40 GCC 12.2 GNU C Library 2.37 systemd 253 各种应用程序也已更新到最新版本,比如 : LibreOffice 7.5.1 办公套件 Firefox 111 和 Chromium 110 网络浏览器 Krita 5.1.5、digiKam 7.9 和 GIMP 2.10.34 图像编

2022-11-15

软件包应该是 GCC 13、Python 3.11、GNU Binutils 2.40、GNU C Library 2.37、OpenLDAP 2.6、Go 1.20 和 PolicyKit 122 ,这些软件都在 Ubuntu 23.04  功能冻结之前发布。而另一方面, Linux 6.2 内核将在明年 2 月上中旬推出, LLVM 16 在 3 月 16 日

2024-09-24

最新的开发工具链,包括 GCC 14.2、GNU Binutils 2.43.1、GNU C Library 2.40、LLVM 19、Rust 1.80、Go 1.23、OpenSSL 3.3、systemd 256.5、Netplan 1.1 和 .NET 8 等。 对了,Ubuntu 24.10 也是 Ubuntu 诞生 20 周年的版本:

2022-09-09

可参考 GNU extensions to the C and C++ languages 在 LLVM 15.0 发布后,LLVM/Clang 16.0 版本即将迎来一个重大变化: GNU++17 将成为 LLVM 默认的 C++ 和 ObjectiveC++ 版本。 Clang 的 C++17 支持非常稳定了,只有一些微小的细节需要修复。事

2022-11-09

o of project: require(sfml): -> description: Simple and Fast Multimedia Library -> version: 2.5.1 ... -> components: -> system: -> graphics: system, window -> window: system -> audio: system -> network: system 包组件配置 如果你是包的维护者,想要将

2023-03-20

LLVM 16 已正式发布。LLVM 16.0 中添加了许多令人兴奋的功能,包括更快的 LLD 链接、Zstd 压缩的调试部分、稳定其 LoongArch 支持、默认为 Clang 的 C++17 等等。 下面是 LLVM 16 的主要变化: Clang 的默认 C++ 标准现在是 GNU++17,而不是 G

2023-02-20

开源代码调试解决方案 GNU Debugger (简称 GDB)13.1 已发布,GNU Debugger 能为十几种不同的处理器架构的软件进行调试,支持的语言有 Ada、C、C++、Fortran、Go、Rust 等。 新版本的 GDB 和 GDB 服务器添加了两个新的目标架构支持:Lin

2022-04-18

最新的 GNU C Library (Glibc) 开发代码已经开始丢弃各种 SSSE3 优化代码路径。其中包括删除 mem{move| cpy }-ssse3-back、str{p}{n}cpy-ssse3、str{n}cat-ssse3、str{n}{case}cmp-ssse3 和 {w }memcmp-ssse3 代码路径。 根据介绍,Supplemental Streaming SIMD Exte

2022-11-01

继 2020 年 1 月推出 GNU Make 4.3 之后,GNU make 4.4 发布了。make 是一个 Linux 实用工具,可以自动判断程序的哪一部分需要重新编译,它是很多自由软件项目广泛使用的自动化构建工具。 GNU Make 4.4 的众多更改包括: GNU Make 4.4 弃用

2023-08-02

GNU Emacs 29.1 已正式发布。 GNU Emacs 29.1 带来了对 Unicode 15 的支持、禁用将连续单引号更改为双引号的默认模式的新用户选项、全局更改字体大小的新命令、各种菜单和文本用户界面改进、各种终端 Emacs 增强功能、新的表情符号插

2025-03-25

包含ls、cp、mv等经典命令)。 这一变革瞄准将于2026年发布的Ubuntu LTS版本,目标是通过Rust的内存安全特性降低攻击面,同时保持与GNU工具100%的脚本兼容性。 技术选型逻辑 GNU coreutils作为C语言编写的核心基础设施,长期面临