Carlos O'Donell
Carlos O'Donell's contributions
How to use RHEL application compatibility guidelines
Carlos O'Donell
Discover how to use the RHEL application compatibility guidelines to ensure your application remains compatible with future RHEL releases. (Part 1 of 3)
Tips for handling localized ranges in regular expressions
Carlos O'Donell
Ranges and localization together can cause issues with regular expressions that are difficult to fully appreciate. Explore current and upcoming solutions.
Python wheels, AI/ML, and ABI compatibility
Subin Modeel
+1
Guidance for creating ABI compatible Python wheels for RHEL and the new manylinux2014 standard
A platform interface for the GNU C Library
Carlos O'Donell
You can't backport patches forever. At some point you have to rebase. How do you ensure applications continue compiling? Can you do both? Yes you can.
C/C++ library upgrades and opaque data types in process shared memory
Carlos O'Donell
The problem C/C++ libraries expect to be able to change the internal implementation details of opaque data types from release to release since such a change has no external ABI consequences. If an opaque data type is placed in process-shared memory (when allowed by the standard) and shared with multiple processes, each process must ensure they are using exactly the same version of the library or they could fail in unexpected ways during library upgrades. The placement of opaque data...
Dirty Tricks: Launching a helper process under memory and latency constraints (pthread_create and vfork)
Carlos O'Donell
You need to launch a helper process, and while Linux's fork is copy-on-write (COW), the page tables still need to be duplicated, and for a large virtual address space that could result in running out of memory and performance degradation. There are a wide array of solutions available to use, but one of them, namely vfork is mostly avoided due to a few difficult issues. First is that vfork pauses the parent thread while the child executes and eventually calls...
Using System Tap to test the GNU C Library
Carlos O'Donell
White box testing? Traditional white box testing verifies the internal implementation details of the software under test. As of today the GNU C Library (glibc) has very little if any white box testing. The general policy has been that we implement standards conforming interfaces and that as such we need to test those interfaces. This is a good start, but we need to test more if we are going to cover all cases and configurations, and this includes more detailed...
What's new in the core C, math, and thread libraries for Red Hat Enterprise Linux 7?
Carlos O'Donell
+1
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...
How to use RHEL application compatibility guidelines
Carlos O'Donell
Discover how to use the RHEL application compatibility guidelines to ensure your application remains compatible with future RHEL releases. (Part 1 of 3)
Tips for handling localized ranges in regular expressions
Carlos O'Donell
Ranges and localization together can cause issues with regular expressions that are difficult to fully appreciate. Explore current and upcoming solutions.
Python wheels, AI/ML, and ABI compatibility
Subin Modeel
+1
Guidance for creating ABI compatible Python wheels for RHEL and the new manylinux2014 standard
A platform interface for the GNU C Library
Carlos O'Donell
You can't backport patches forever. At some point you have to rebase. How do you ensure applications continue compiling? Can you do both? Yes you can.
C/C++ library upgrades and opaque data types in process shared memory
Carlos O'Donell
The problem C/C++ libraries expect to be able to change the internal implementation details of opaque data types from release to release since such a change has no external ABI consequences. If an opaque data type is placed in process-shared memory (when allowed by the standard) and shared with multiple processes, each process must ensure they are using exactly the same version of the library or they could fail in unexpected ways during library upgrades. The placement of opaque data...
Dirty Tricks: Launching a helper process under memory and latency constraints (pthread_create and vfork)
Carlos O'Donell
You need to launch a helper process, and while Linux's fork is copy-on-write (COW), the page tables still need to be duplicated, and for a large virtual address space that could result in running out of memory and performance degradation. There are a wide array of solutions available to use, but one of them, namely vfork is mostly avoided due to a few difficult issues. First is that vfork pauses the parent thread while the child executes and eventually calls...
Using System Tap to test the GNU C Library
Carlos O'Donell
White box testing? Traditional white box testing verifies the internal implementation details of the software under test. As of today the GNU C Library (glibc) has very little if any white box testing. The general policy has been that we implement standards conforming interfaces and that as such we need to test those interfaces. This is a good start, but we need to test more if we are going to cover all cases and configurations, and this includes more detailed...
What's new in the core C, math, and thread libraries for Red Hat Enterprise Linux 7?
Carlos O'Donell
+1
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...