Brussels / 3 & 4 February 2024


Supporting architecture psABIs with GNU Guix

Starting with glibc-2.33, glibc grew the capability to search for shared libraries using additional paths, based on the hardware capabilities of the machine running the code. This was great for x86_64 (and also powerpc64le and s390x), which was first released in 2003 and has seen many changes in the capabilities of the hardware since then. While it is extremely common for Linux distributions to compile for a baseline which encompasses all of an architecture, there was a lot of performance being left on the table by targeting such an old specification and not one of the newer revisions.

Some distributions have opted to increase the baseline to x86-64-v2 or even -v3, but even there you are potentially leaving performance on the table while removing some of the older machines from being able to run on your distribution. By targeting all of the psABI targets you don't remove the option of using old hardware while still providing optimized libraries for newer hardware, and you have happier users getting more out of their hardware.


Efraim Flashner