Si vous êtes sur un système dérivé de Debian, vous pouvez utiliser apt-get source libc6
. Cela décompressera un eglibc-2.12.1
répertoire (le numéro de version peut différer, bien sûr) dans votre répertoire de travail actuel, et le support des pthreads se trouve dans le nptl/
répertoire en dessous. linuxthreads/
est pour l'ancien style de filetage, au cas où vous seriez archéologue.
La plupart des Linux utilisent une version libc nommée glibc
.
Le LXR (système de références croisées en ligne) pour la glibc est par ex. ici http://koala.cs.pub.ro/lxr/glibc/ pour la version 2.9 (le lien est cassé). Je dois dire que quelque chose peut ne pas être lxr parce que certaines sources sont générées dans le processus de construction, par exemple - si je me souviens bien - des wrappers autour d'un appel système.
Les pthreads sont en nptl/
dossier. Le bon lien vers les sources de la libc est http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.bz2 (ou changez 2.14 pour votre version)
Mise à jour :Après la fermeture du lxr de koala, il y a :
-
Metager avec glibc :http://code.metager.de/source/xref/gnu/glibc/(Servi avec OpenGrok de Sun, qui était à l'origine utilisé pour générer des x-ref en ligne pour Solaris/OpenSolaris) -
Recherche de code Google (je sais qu'il était fermé ; mais je sais aussi que c'est une autre version qui est en place) :
http://code.google.com/codesearch et essayez de rechercher quelque chose de spécifique à la glibc
UPD (mars 2013) Ils ont encore tué codesearch :
404. That’s an error.
L'URL demandée /codesearch n'a pas été trouvée sur ce serveur. C'est tout ce que nous savons.
UPD 2017
-
Metager avec glibc :http://code.metager.de/source/xref/gnu/glibc/ -
Il y a git en ligne par les auteurs de la glibc :https://sourceware.org/git/?p=glibc.git (l'arborescence est navigable sur https://sourceware.org/git/?p=glibc.git;a=tree)
-
Glibc git est mis en miroir sur github (qui a des fonctions de recherche) https://github.com/bminor/glibc Buildroot 2018.05 utilise notamment ce miroir.
-
Il y a une recherche comme la recherche de code de google dans tous les paquets debian :https://codesearch.debian.net/. Il peut rechercher dans les sources de la glibc par requête "package:glibc request" et a également un navigateur de fichiers :http://sources.debian.net/src/glibc/
Essayez la référence croisée entre FreeBSD et le noyau Linux.
Amusez-vous :)
Infos sur le dépôt glibc :http://sourceware.org/glibc/wiki/GlibcGit
Clonez-le pour obtenir votre propre copie et recherchez-le comme bon vous semble :
git clone git://sourceware.org/git/glibc.git
Je le charge dans un projet IDE (en utilisant n'importe quel IDE préféré) et la navigation dans le code fonctionne assez bien pour me permettre de trouver ce qui m'intéresse.
Parcourir la source en ligne http://sourceware.org/git/?p=glibc.git