web-dev-qa-db-ja.com

libcソースの場所-ダウンロードまたはオンライン表示用?

申し訳ありませんが、これはばかげていますが、Linux libcのソースコードはどこで入手できますか? GNUからダウンロードしたものは、私が望んでいたものではなかったようです。具体的には、pthreads関数ファミリーには何も見つかりませんでした。

オンライン(ハイパーテキストの相互参照)バージョンはどこかにありますか?

19
ValenceElectron

ほとんどのLinuxは、glibcという名前のlibcバージョンを使用します。

GlibcのLXR(オンライン相互参照システム)は、たとえば次のとおりです。 ここ http://koala.cs.pub.ro/lxr/glibc/ 2.9バージョンの場合 (リンクが壊れています)。一部のソースはビルドプロセスで生成されるため、何かがlxrされない可能性があることを言わなければなりません。たとえば、覚えているように、システムコールのラッパーです。

Pthreadはnptl/フォルダーにあります。 libcソースへの正しいリンクは http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.bz2 (または2.14をご使用のバージョンに変更)です。

更新:コアラのlxrを閉じた後、次のようになります。

  1. Glibcを使用したMetager: http://code.metager.de/source/xref/gnu/glibc/ (元々はSolaris/OpenSolarisのオンライン外部参照を生成するために使用されていたSunのOpenGrokで提供されます)

  2. グーグルコード検索(私はそれが閉じられたことを知っていますが、それがアップしている他のバージョンであることも知っています): http://code.google.com/codesearch そしてglibc固有のものを検索してみてください

UPD(2013年3月)彼らは再びコード検索を殺しました:

404. That’s an error.

リクエストされたURL/codesearchがこのサーバーで見つかりませんでした。私たちが知っているのはそれだけです。

UPD 2017

  1. Glibcを使用したMetager: http://code.metager.de/source/xref/gnu/glibc/

  2. Glibcの作者によるオンラインgitがあります: https://sourceware.org/git/?p=glibc.git (ツリーは https://sourceware.org/git/ ?p = glibc.git; a = tree

  3. Glibc gitはgithub(いくつかの検索機能があります)にミラーリングされています https://github.com/bminor/glibc Buildroot 2018.05 特にこのミラーを使用します

  4. すべてのDebianパッケージにグーグルのコード検索のような検索があります: https://codesearch.debian.net/ 。 「package:glibcrequest」リクエストでglibcソースを検索でき、ファイルブラウザもあります: http://sources.debian.net/src/glibc/

20
osgx

Glibcリポジトリに関する情報: http://sourceware.org/glibc/wiki/GlibcGit

クローンを作成して独自のコピーを取得し、好きなように検索します。

git clone git://sourceware.org/git/glibc.git

IDEプロジェクト(任意の優先IDEを使用)にロードすると、コードナビゲーションが非常にうまく機能して、興味のあるものを見つけることができます。

オンラインでソースを閲覧する http://sourceware.org/git/?p=glibc.git

7
Michael Burr

Debianから派生したシステムを使用している場合は、apt-get source libc6を使用できます。これにより、現在の作業ディレクトリにあるeglibc-2.12.1ディレクトリ(バージョン番号はもちろん異なる場合があります)が解凍され、pthreadsサポートはその下のnptl/ディレクトリにあります。 linuxthreads/は、考古学者の場合に備えて、古いスレッドスタイル用です。

5
sarnold

FreeBSDとLinuxカーネルの相互参照 を試してください。

楽しんで :)

1
pmg