Differences between revisions 179 and 180
Revision 179 as of 2018-02-01 19:51:26
Size: 11272
Editor: DmitryLevin
Comment: 2.27 released
Revision 180 as of 2018-03-22 15:30:25
Size: 11840
Deletions are marked like this. Additions are marked like this.
Line 70: Line 70:

===== Community Resources =====
Line 71: Line 73:
 * [[MailingLists]]
Line 82: Line 85:
 * [[MailingLists]]
===== Textbooks =====
 * [[https://www.amazon.com/Linkers-Kaufmann-Software-Engineering-Programming/dp/1558604960|Linkers and Loaders]] - Slightly outdated but effectively the primer on the topic.
 * [[https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X|Computer Systems: A Programmer's Perspective]] - Chapter 7. Linkers is particularly helpful. A much updated text on the topics.
Line 126: Line 132:
 * The glibc community had a BoF session at the [[https://gcc.gnu.org/wiki/cauldron2017|GNU Tools Cauldron 2017]].

The community wiki for GLIBC

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

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.

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 "Download" 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/.

Source snapshots are available from ftp://sourceware.org/pub/glibc/snapshots/.

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 Community Resources 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

5.12.2. How to Submit a New Port

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 2018-03-22 15:30:25 by CarlosODonell)