The community wiki for GLIBC

The official and canonical GLIBC website is http://www.gnu.org/software/libc/

The wiki is covered by the glibc Code of Conduct.

1. News

2. Overview

Any Unix-like operating system needs a C library: the library which defines the "system calls" and other basic facilities such as fopen, malloc, printf, exit etc.

The GNU C Library is used as the C library in the GNU systems and most systems with the Linux kernel.

2.1. Project Goals

The GNU C Library is primarily designed to be a portable and high performance C library.

It follows all relevant standards including ISO C11 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known.

A C library must be used together with a C compiler. We intend the GNU C Library to be usable with any ISO-conformant C compiler; however, for technical reasons, it requires a small number of additional compiler features. Glibc has been most extensively tested with the GNU Compiler Collection, and is also known to work with clang, the C compiler from the LLVM Project.

2.2. Project Features

2.3. History

The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.

2.4. Editing the wiki

Owing to automated spammers we have switched to only allowing those people in the EditorGroup to participate in the wiki. If you would like to participate in the wiki please email your request to libc-alpha@sourceware.org or contact one of the editors in EditorGroup and have them vouch for you and add you to the list. If your user is not in the EditorGroup your account will be purged when we purge spam accounts out of the database. You should always have yourself added to EditorGroup as quickly as possible in order to participate in the wiki (and avoid being purged)! We are sorry for the inconvenience. Please help make the world a better place by helping prevent spam.


3. Obtaining the Official Source

The "Sources" section of the GLIBC website contains instructions on obtaining the official sources for the latest GLIBC release.

You can obtain official tarballs from the standard location, ftp://ftp.gnu.org/gnu/glibc/.

The working source tree is located in GIT, look here for instructions.


4. FAQ

Consult the GLIBC FAQ for common questions and answers.


5. Development

5.1. Contributing

If you wish to contribute to glibc please post your idea or patch to libc-help@sourceware.org for initial review.

Review the contribution checklist before emailing libc-alpha@sourceware.org with your contribution.

glibc has maintainers for each architecture. Please CC them on any libc-alpha emails related to the architecture of your interest.

For help subscribing to the mailing-lists, simply send an empty e-mail to libc-help-info@sourceware.org or libc-alpha-info@sourceware.org

Developers with commit access should follow the committer checklist prior to pushing patches to the upstream source code repository.

5.2. Resources

5.2.1. Developer Resources

5.2.1.1. Community Resources

5.2.1.2. Textbooks

5.2.2. Standards and Documentation References

5.3. Release management

5.4. Website Maintenance

The current website maintenance procedure is documented here.

5.5. Internals Documentation

5.6. Meetings

5.7. Issue Tracking

We use the sourceware.org Bugzilla instance for bug tracking, sometimes referred to as “swbz”.

Do you want to help with GLIBC? The GLIBC Bug Triage initiative is a great way to get involved.

If you think the GLIBC bugzilla version selection drop-down is missing a version number, please contact libc-help < libc-help@sourceware.org >.

If you think that bugs aren't being fixed fast enough or that new features aren't being implemented fast enough, please take the time to read this email http://sourceware.org/ml/libc-help/2008-08/msg00009.html

5.8. Testing

5.9. Debugging

5.10. Tips and Tricks

5.11. Project TODO

We have one master TODO list. The links below are pages dedicated to specific entries in the master list.

5.11.1. Project Wishlist by Developer

If you are looking for a GLIBC project this is the place to start.

5.11.2. Old Notes

These are old notes that used to be kept in the source tree. They have not been updated in many years. Some information may still be relevant, but please check whether it still is before acting on it.

5.12. Project Ports

Currently GLIBC only works with Linux and the Hurd, but we are willing to consider adding support other operating systems, as long as there are both user demand and developers willing to maintain the port.

5.12.1. External Ports


6. Feedback

We look forward to your feedback! Any feedback or questions related to glibc usage may be sent to libc-help@sourceware.org .

None: HomePage (last edited 2024-01-31 22:27:53 by AndreasHüttel)