GNU C Library

From Infinity Wiki
Revision as of 04:56, 8 June 2016 by Gary Benson (talk | contribs) (Created page with "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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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:

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.