SourceForge Logo

What is abicheck
What is an ABI
Contact Info
Related Links
Project Page
Mailing Lists
CVS web interface
Source code

NOTE: GLIBC_PRIVATE version sets have been added to glibc 2.3 thereby making the draft ABI provided here obsolete. Please see the GNU libc site for more information. The new private versions may be seen in the glibc CVS repository. This page will be updated shortly.

As part of the effort to define an ABI for Linux, a draft ABI for the core libraries, glibc, etc. has been developed. Currently the core libraries use a chain of version sets named after the releases of the library (e.g., GLIBC_2.1.1) and there is no distinction between public and private symbols. Private symbols typically have names beginning with an underscore ("_") character (although there are many exceptions). To work with abicheck, all that would be needed is to explicitly list the private symbols in a private named set (e.g., "GLIBC_PRIVATE").

Here are sample versioning mapfiles using the above definition that includes corrections to approximately 100 symbols with leading "_" that are part of the public ABI: versioning mapfiles

This is a draft definition. Your comments are welcomed; send them to

Please note that if the versioning process described here is adopted (namely, GLIBC_PRIVATE classification), then the corresponding versioning mapfiles will be kept in the glibc sourcebase, not here in the abicheck project. The abicheck tool will be able to obtain the information it needs directly from the built glibc libraries on an installed system.

Last Updated 2002-02-25.