前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

各版本glibc引入函数, 排查libc.so.6: version`GLIBC_xx'not found

qiguaw 2025-04-27 15:37:23 资源文章 40 ℃ 0 评论


glibc 2.41(2025年1月)

  • 新增数学函数:
    • sinpi()
    • cospi()
    • tanpi() 这些函数计算输入值乘以 π 的正弦、余弦和正切值。 man7.orglwn.net+5维基百科+5man7.org+5

glibc 2.40(2024年7月)

  • 引入对 ISO C23 标准的部分支持。
  • 新增用于测试 setuid 程序的可调参数。
  • 增强了对 ARM 64 位向量的支持。 维基百科+2维基百科+2维基百科+2维基百科+1维基百科+1维基百科+3维基百科+3维基百科+3

glibc 2.39(2024年1月)

  • 新增头文件 <stdbit.h>,源自 ISO C2X 标准。
  • 新增与 pidfd(进程文件描述符)相关的函数:
    • pidfd_spawn()
    • pidfd_spawnp()
    • posix_spawnattr_setcgroup_np()
    • posix_spawnattr_getcgroup_np()
    • pidfd_getpid() 这些函数用于创建子进程并直接返回其 pidfd,避免了进程 ID 重用带来的竞争条件。 维基百科+4维基百科+4维基百科+4man7.org+4lwn.net+4维基百科+4

glibc 2.38(2023年8月)

  • 新增字符串处理函数:
    • strlcpy()
    • strlcat() 这些函数提供了更安全的字符串复制和连接操作。 Desde Linux+4维基百科+4维基百科+4

glibc 2.34(2021年8月)

  • 新增函数:
    • _Fork():一个异步信号安全的 fork() 替代函数,适用于信号处理程序中。
    • close_range():用于关闭指定范围内的文件描述符。
    • execveat():允许从打开的文件描述符执行可执行文件。 sourceware.org+2lwn.net+2man7.org+2维基百科+4man7.org+4Desde Linux+4Desde Linux+1man7.org+1

glibc 2.33(2021年2月)

  • 新增函数:
    • mallinfo2():提供更大字段宽度的内存分配信息结构,替代已弃用的 mallinfo()。 man7.org

glibc 2.32(2020年8月)

  • 新增错误诊断函数:
    • strerrorname_np()
    • strerrordesc_np()
  • 新增信号描述函数:
    • sigabbrev_np()
    • sigdescr_np()
  • 新增线程属性函数:
    • pthread_attr_setsigmask_np()
    • pthread_attr_getsigmask_np() 维基百科+3man7.org+3lwn.net+3Desde Linux

glibc 2.25(2017年2月)

  • 新增函数:
    • getentropy():用于获取随机数据缓冲区。
    • explicit_bzero():执行与 bzero() 相同的任务,但调用不会被编译器优化掉。 lwn.net+6man7.org+6维基百科+6

glibc 2.31(2020年2月)

  • 引入了对 C23 标准的初步支持。

glibc 2.30(2019年8月)

  • 新增 POSIX 提议的函数:
    • pthread_cond_clockwait()
    • pthread_mutex_clocklock()
    • pthread_rwlock_clockrdlock()
    • pthread_rwlock_clockwrlock()
    • sem_clockwait()elixir.bootlin.com+2phoronix.com+2phoronix.com+2
  • 引入 gettid() 函数,用于获取线程 ID。

glibc 2.29(2019年2月)

  • 新增函数:
    • getcpu():返回调用线程或进程当前使用的 CPU 及其 NUMA 节点。维基百科+1phoronix.com+1phoronix.com
  • 新增函数:
    • posix_spawn_file_actions_addchdir_np()
    • posix_spawn_file_actions_addfchdir_np()AI开发运维平台+1维基百科+1

glibc 2.28(2018年8月)

  • 新增函数:
    • statx():提供更丰富的文件状态信息。
    • renameat2():支持原子性重命名操作,允许传递标志参数。phoronix.com+2phoronix.com+2phoronix.com+2phoronix.com+1维基百科+1维基百科+1phoronix.com+1

glibc 2.27(2018年2月)

  • 优化了性能,特别是在多线程环境下的内存分配。

glibc 2.26(2017年8月)

  • 新增函数:
    • reallocarray():安全地重新分配内存,防止整数溢出。lwn.net
  • 引入了 tunables 特性,允许通过环境变量 GLIBC_TUNABLES 调整运行时行为。

glibc 2.25(2017年2月)

  • 新增函数:
    • getentropy() 和 getrandom():用于生成高质量的随机数据。
    • explicit_bzero():用于安全地清除内存,防止编译器优化。
    • strfromd()、strfromf()、strfroml():将浮点数转换为字符串,符合 ISO/IEC TS 18661-1:2014 标准。 维基百科+1lwn.net+1lwn.net
  • 移除 getpid() 的缓存机制,以提高在使用 PID 命名空间时的准确性。 sourceware.org

glibc 2.24(2016年8月)

  • 移除已弃用的函数和符号,清理了代码库。

glibc 2.23(2016年2月)

  • 更新至 Unicode 8.0。

glibc 2.22(2015年8月)

  • 新增函数:
    • open_wmemstream():类似于 open_memstream(),但用于宽字符。
    • ppoll():改进版的 poll(),类似于 pselect()。elixir.bootlin.com
  • 新增接口:
    • fdopendir()、openat()、fstatat()、fchmodat()、fchownat()、futimesat()、faccessat()、mkdirat()、mkfifoat()、mknodat()、renameat()、unlinkat()、linkat()、symlinkat()、readlinkat()。elixir.bootlin.com
  • 新增系统调用封装:
    • unshare()、inotify_init()、inotify_add_watch()、inotify_rm_watch()。维基百科+2elixir.bootlin.com+2elixir.bootlin.com+2
  • 新增别名:
    • eaccess():作为 euidaccess() 的别名。elixir.bootlin.com
  • 引入向量数学库 libmvec,提供了以下函数的向量化实现:
    • cos、cosf、sin、sinf、sincos、sincosf、log、logf、exp、expf、pow、powf。 lwn.net+1维基百科+1

glibc 2.21(2015年2月)

  • 新增对 Altera Nios II 架构的支持。维基百科

glibc 2.20(2014年9月)

  • 修复了 PowerPC 架构上的 termios 定义问题。sourceware.org+1elixir.bootlin.com+1

glibc 2.19(2014年2月)

  • 新增对 C-SKY ABIV2 架构的支持。维基百科

glibc 2.18(2013年8月)

  • 改进了对 ISO C11 标准的支持。
  • 新增对 Xilinx MicroBlaze 和 IBM POWER8 微架构的支持。维基百科+1lwn.net+1

glibc 2.17(2012年12月)

  • 新增对 64 位 ARM 架构的支持。

glibc 2.16(2012年6月)

  • 新增函数:
    • fexecve():在 GNU 系统上实现,允许通过文件描述符执行程序文件。 elixir.bootlin.comelixir.bootlin.com+1elixir.bootlin.com+1
  • 新增函数:
    • newlocale()、duplocale()、freelocale():用于创建和管理 locale_t 对象。
    • uselocale():设置线程的当前区域设置。 elixir.bootlin.com

glibc 2.15(2012年3月)

  • 新增对 x32 ABI 的支持。维基百科
  • 改进了对 ISO C11 标准的支持。

glibc 2.14(2011年6月)

  • 引入了 memcpy 的优化版本,提高了性能。

glibc 2.13(2011年1月)

  • 新增对 clock_getcpuclockid() 的支持。

glibc 2.12(2010年5月)

  • 新增函数:
    • accept4()
    • eventfd()
    • signalfd()
    • timerfd_create()
    • timerfd_settime()
    • timerfd_gettime()

glibc 2.11(2009年10月)

  • 新增函数:
    • pthread_setname_np()
    • pthread_getname_np()

glibc 2.10(2009年5月)

  • 新增函数:
    • pthread_rwlock_timedrdlock()
    • pthread_rwlock_timedwrlock()

glibc 2.9(2008年12月)

  • 新增函数:
    • malloc_info()

glibc 2.8(2008年5月)

  • 新增函数:
    • posix_spawn()
    • posix_spawnp()

glibc 2.7(2007年10月)

  • 新增函数:
    • getsubopt()
    • strndup()
    • strnlen()

glibc 2.6(2007年5月)

  • 新增函数:
    • pthread_attr_getaffinity_np()
    • pthread_attr_setaffinity_np()

glibc 2.5(2006年9月)

  • 新增函数:
    • fallocate()

glibc 2.4(2006年3月)

  • 新增函数:
    • pthread_barrier_init()
    • pthread_barrier_destroy()
    • pthread_barrier_wait()
    • pthread_barrierattr_init()
    • pthread_barrierattr_destroy()

glibc 2.3(2002年10月)

  • 新增函数:
    • getaddrinfo()
    • getnameinfo()

glibc 2.2(2001年1月)

  • 新增函数:
    • nanosleep()
    • clock_gettime()
    • clock_settime()
    • clock_getres()
    • clock_nanosleep()

glibc 2.1(1999年3月)

  • 新增函数:
    • gethostbyname2()
    • gethostbyaddr()

glibc 2.0(1997年1月)

  • 首次发布,包含对 POSIX.1 和 ISO C 标准的大量支持。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表