Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Libiberty
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software library}} {{refimprove|date=October 2016}} {{Infobox software | title = {{PAGENAMEBASE}} | logo = <!-- File name without 'File:' --> | logo caption = | logo alt = | logo size = | collapsible = <!-- Any text here will collapse the screenshot. --> | screenshot = <!-- File name without 'File:' --> | screenshot size = | screenshot alt = | caption = | other_names = | author = | developer = | released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | ver layout = <!-- simple (default) or stacked --> | discontinued = yes | latest release version = | latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | repo = {{URL|https://gcc.gnu.org/git/}} | qid = | programming language = [[C (programming language)|C]] | middleware = | operating system = | platform = | included with = | replaces = | replaced_by = | service_name = | size = | standard = | language = | language count = <!-- Number only --> | language footnote = | genre = [[Library (computing)|Library]] | license = [[GNU Lesser General Public License|LGPL-2.1-only]] | website = <!-- {{URL|example.org}} or {{official URL}} --> | AsOf = }} '''GNU libiberty''' is a [[library (computer science)|software library]] with a collection of [[subroutine]]s used by various [[GNU]] [[computer program|programs]].<ref name=DOC>{{Cite web|url=https://gcc.gnu.org/onlinedocs/libiberty/Using.html |title=Using (GNU libiberty) |publisher=[[GNU]] |website=gcc.gnu.org |access-date=September 3, 2022}}</ref> The library is now a decommissioned GNU package.<ref>{{cite web |title=Decommissioned GNU packages |url=https://www.gnu.org/software/software.html |publisher=[[GNU]] |website=gcc.gnu.org |access-date=September 3, 2022}}</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 (programming language)|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>{{cite web |title=GNU libiberty: Functions |url=https://gcc.gnu.org/onlinedocs/libiberty/Functions.html |website=gcc.gnu.org |publisher=[[GNU]] |access-date=September 3, 2022}}</ref> Copies of libiberty are distributed with [[GNU Compiler Collection|gcc]], [[GNU Debugger|gdb]], and the [[binutils]]. libiberty is not otherwise versioned or released separately. One important piece of libiberty functionality is a [[Name mangling|demangler]] for [[C++]] and [[D (programming language)|D]], included so that it is available to both [[GNU Binary Utilities|binutils]] and GDB. The name is a [[pun]] or [[word play]] on the word "[[liberty]]". On [[Unix-like]] [[operating system]]s, library files are always named "lib" + the name of the library. But when they are linked to with a C compiler command (<code>cc</code>, <code>gcc</code>, etc.), the [[command line]] flag specifying the library is <code>-l</code> followed by the part of the library name after "lib". In libiberty's case it therefore becomes <code>-liberty</code>. ==See also== {{Portal|Free and open-source software}} *[[Gnulib]] - the current GNU portability library ==References== {{Reflist}} ==External links== *[https://gcc.gnu.org/onlinedocs/libiberty/ GNU libiberty] {{GNU}} [[Category:GNU Project software]] {{Compu-library-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Compu-library-stub
(
edit
)
Template:GNU
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)