Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

What's new in the core C, math, and thread libraries for Red Hat Enterprise Linux 7?

June 23, 2014
Carlos O'Donell Matt Newsome
Related topics:
Linux
Related products:
Red Hat Enterprise Linux

Share:

    With the recent release of Red Hat Enterprise Linux 7, we have some great new features to pass along. In this post we walk through the core C, math, and thread libraries and see what is new for developers.

    The GNU C Library

    The GNU C Library, or "glibc" as we like to call it, is a core component of Red Hat Enterprise Linux 7 and provides several key OS components including the core ISO C functionality (including the math library), and both BSD and POSIX APIs (including the thread library). The project provides the vast majority of the low-level interfaces that developers use day in and day out with the Linux kernel. You might expect that not much would change, but actually Red Hat Enterprise Linux 7 glibc introduces a large number of changes and improvements. In this article we'll walk through these.

    New standards support, new interfaces, bugfixes galore

    Since Red Hat Enterprise Linux 6 we have seen the release of a new version of ISO C i.e. ISO C11 or ISO/IEC 9899:2011, and several revisions of POSIX, with Issue 7 being the latest. Red Hat and the glibc upstream community have been tracking the standards and implementing new support in glibc for developers. However, it's not just POSIX and ISO C that are changing, the Linux kernel is also continually adding new interfaces, which in turn are exposed by glibc for use by developers. So as you can see we've been busy with new features - and we've been fixing plenty of bugs, too. Without further ado, here is a boiled down list of the cool new things developers can do with Red Hat Enterprise Linux 7's glibc.

    What's new?

    • Experiment with initial ISO C11 support and start using new C11 features as they become available.
    • Use new Linux system calls including prlimit, prlimit64, fanotify_init, fanotify_mark, clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg, process_vm_readv, and process_vm_writev.
    • Use new glibc functions scandirat and scandirat64 for scanning directories relative to a specified file descriptor instead of relative to the current working directory.
    • Use the new glibc function secure_getenv to enable secure access to the application's environment, particularly useful for applications which are SUID or SGID.
    • Use the new glibc function getauxval and new header <sys/auxv.h> to easily access to the AT_* key-value pairs passed from the Linux kernel. The header also defines the HWCAP_* bits associated with the AT_HWCAP key allowing the application to examine in detail which processor capabilities are enabled. The entire auxiliary vector can be shown on the command line by the dynamic loader by setting the LD_SHOW_AUXVAL environment variable to one or your application like this `LD_SHOW_AUXVAL=1 <application>`.
    • A new class of installed header has been documented for low-level platform-specific functionality. PowerPC added the first instance with a function to provide time base register access via <sys/platform/ppc.h> (provides all platform functionality) by calling __ppc_get_timebase to read the time base register.
    • The crypt function has been made FIPS-aware; restricting the allowed cryptographic hashes if you boot your system in FIPS mode.
    • All of the clock_* suite of functions, as declared in <time.h>, are now directly available from the core C library without the need to link with -lrt. Single-threaded programs using the clock_* suite of functions, and not linked with -lrt, will no longer implicitly load the POSIX threads library at runtime (required for other functionality enabled by -lrt) and so will not suffer the overhead associated with thread support in other libraries like the C++ runtime library.
    • Use _FORTIFY_SOURCE and in addition to all the other robust checking functions get additional checking for FD_SET, FD_CLR, FD_ISSET, poll and ppoll.
    • Enable caching of netgroups in the Name Service Cache Daemon (nscd). Red Hat has done extensive work to ensure netgroups caching is as robust as all the databases. If you previously tried this feature, please try it again!
    • Enjoy increased performance from optimized string functions for: x86-64 and x86 (uses SSE, SSSE3, SSE4.2, and AVX), x86; 32-bit and 64-bit POWER systems; 32-bit and 64-bit S390 systems (optimized for System z10 and zEnterprise z196).

    This is just a taste of what's new in Red Hat Enterprise Linux 7, in addition to the above changes we have new SystemTap static probes for application profiling, 5 new character encodings, 25 new localizations, and over 589 bug and security fixes. Enjoy the new features and depend on the fixes!

    Last updated: February 23, 2024

    Recent Posts

    • Profiling vLLM Inference Server with GPU acceleration on RHEL

    • Network performance in distributed training: Maximizing GPU utilization on OpenShift

    • Clang bytecode interpreter update

    • How Red Hat has redefined continuous performance testing

    • Simplify OpenShift installation in air-gapped environments

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue