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 abicheck-discuss@lists.sourceforge.net
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.
|