GNU C Library
The GNU C Library, also known as glibc, is the C library in the GNU system and in GNU/Linux systems, as well as many other systems that use Linux as the kernel. Its homepage is https://www.gnu.org/software/libc/.
Included with the GNU C Library are two libraries of note to Infinity developers:
- The Native POSIX Thread Library (NPTL), built as
- The thread debugging library, built as
Programs wishing to become multithreaded load libpthread.so and make calls into it. Software development tools wishing to understand multithreaded programs load libthread_db.so and make calls into that. This works fine if the program being analyzed and the tool doing the analysis are built with the same ABI.
It grew from a need for GDB to be able to debug multithreaded applications without requiring libthread_db. In Infinity, the thread-debugging code is stored as platform-independent Infinity notes in libpthread.so; libthread_db.so is not used at all.
The TL;DR of all this is that if you're developing Infinity you will very likely need to be making glibc test builds. You can find out how to do that at https://sourceware.org/glibc/wiki/Testing/Builds.