News

GNU C Library version 2.30 releases with POSIX-proposed functions, support for Unicode 12.1.0, new Linux functions and more!

2 min read

Last week, the GNU C Library version 2.30 was made available to all users. The major highlights of this release include new POSIX (Portable Operating System Interface)-proposed functions, support for Unicode 12.1.0, support to –preload argument to preload shared objects, addition of new functions such as getdents64, gettid, and tgkill to Linux and more.

The GNU C Library is used in the GNU systems, GNU/Linux systems as well as on other systems that use Linux as the kernel. It is a portable and high performance C library.

Major new features in GNU C Library version 2.30

  • New POSIX-proposed pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait functions have been introduced in GNU C Library version 2.30. All the functions allow waiting against CLOCK_MONOTONIC and CLOCK_REALTIME.
  • The GNU C Library version 2.30 has an added support of Unicode 12.1.0. Character encoding, character type info, and transliteration tables have also been updated to Unicode 12.1.0.
  • The dynamic linker will now accept the –preload argument to preload shared objects along with the LD_PRELOAD environment variable.
  • The getdents64, gettid, and tgkill functions have been added on Linux.
  • Memory allocation functions malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, and posix_memalign will need object size smaller than PTRDIFF_MAX. This will help the memory allocation functions to avoid potential undefined behavior with pointer subtraction within the allocated object, which caused ptrdiff_t type overflow.

Deprecated features influencing compatibility

  • Functions like clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, clock_nanosleep have been removed from the librt library for new applications.
  • The outdated  XSI STREAMS header files <stropts.h> and <sys/stropts.h> and the RES_INSECURE1 and RES_INSECURE2 option flags for the DNS stub have been abolished.
  • The support for “inet6” option in /etc/resolv.conf and the RES_USE_INET6 resolver flag have been eliminated.
  • The Linux-specific <sys/sysctl.h> header and the sysctl function have been removed from the GNU C Library version 2.30 and also will not be present in the future versions of glibc. The getentropy function can be used for obtaining random bits.

Bug Fixes in GNU C Library version 2.30

  • gettid() to have a wrapper in libc
  • nftw() does not return dangling symlink’s inode in libc
  • mtrace hangs when MALLOC_TRACE is defined in malloc
  • memusagestat is built using system C library in malloc
  • libpthread IFUNC resolver for vfork can lead to crash in nptl

These are select few updates. For more information, you may go through the libc sourceware page.

Read Next

Debian 10 codenamed ‘buster’ released, along with Debian GNU/Hurd 2019 as port

Google proposes libc in LLVM, Rich Felker of musl libc thinks it’s a very bad idea

GNU APL 1.8 releases with bug fixes, FFT, GTK, RE and more

Vincy Davis

A born storyteller turned writer!

Share
Published by
Vincy Davis

Recent Posts

Top life hacks for prepping for your IT certification exam

I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…

3 years ago

Learn Transformers for Natural Language Processing with Denis Rothman

Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…

3 years ago

Learning Essential Linux Commands for Navigating the Shell Effectively

Once we learn how to deploy an Ubuntu server, how to manage users, and how…

3 years ago

Clean Coding in Python with Mariano Anaya

Key-takeaways:   Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…

3 years ago

Exploring Forms in Angular – types, benefits and differences   

While developing a web application, or setting dynamic pages and meta tags we need to deal with…

3 years ago

Gain Practical Expertise with the Latest Edition of Software Architecture with C# 9 and .NET 5

Software architecture is one of the most discussed topics in the software industry today, and…

3 years ago