GNU libiberty is a software library with a collection of subroutines used by various GNU programs.[1] The library is now a decommissioned GNU package.[2]

It was originally intended to be a sort of standard cross-platform library, thus enabling it to be linked (using the usual Unix library form) by just passing "-liberty" to the compiler. The contents consisted of a variety of useful functions. However, the development of standards for C and POSIX took away some of the impetus for this, and libiberty came to be used primarily as a support library for the GNU toolchain. It still contains a minimal set of functions that are either GNU extensions or occasionally unimplemented parts of the standard.[3]

Copies of libiberty are distributed with gcc, gdb, and the binutils. libiberty is not otherwise versioned or released separately.

One important piece of libiberty functionality is a demangler for C++ and D, included so that it is available to both binutils and GDB.

The name is a pun or word play on the word "liberty". On Unix-like operating systems, library files are always named "lib" + the name of the library. But when they are linked to with a C compiler command (cc, gcc, etc.), the command line flag specifying the library is -l followed by the part of the library name after "lib". In libiberty's case it therefore becomes -liberty.

See also

  • Gnulib - the current GNU portability library

References

  1. โ†‘ "Using (GNU libiberty)". gcc.gnu.org. GNU. Retrieved September 3, 2022.
  2. โ†‘ "Decommissioned GNU packages". gcc.gnu.org. GNU. Retrieved September 3, 2022.
  3. โ†‘ "GNU libiberty: Functions". gcc.gnu.org. GNU. Retrieved September 3, 2022.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.