Template:Short description Template:Refimprove {{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other GNU libiberty is a software library with a collection of subroutines used by various GNU programs.<ref name=DOC>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The library is now a decommissioned GNU package.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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 alsoEdit

Template:Portal

  • Gnulib - the current GNU portability library

ReferencesEdit

Template:Reflist

External linksEdit

Template:GNU


Template:Compu-library-stub