nmが/lib/i386-linux-gnu/libc.so.6のシンボルを表示しないのはなぜですか?

nmが/lib/i386-linux-gnu/libc.so.6のシンボルを表示しないのはなぜですか?

私が見ると予想される記号の数libc.so.6ファイルを含める印刷機能。私が使うものはナノメートルこれを見つけるためのツールがありますが、libc.so.6にはシンボルはありません。

答え1

一般的なシンボルが削除された可能性があり、残りは使用可能な動的シンボルですnm -D

答え2

@PSkocikがこの質問に回答しました。詳細を追加したかったです。 ELFには2種類のシンボル部分があります.symtab.dynsymLinux標準の基本コア仕様(LSB_5.0.0とも呼ばれる)、もっと学ぶ)。.symtab共有ライブラリ自体へのリンクフェーズです。リンクが完了すると、.symtabこのセクションは不要になります。この.dynsymセクションには、動的リンカーが実行時に検索する重要なシンボルが含まれています。nmデフォルトでは、.symtabこのセクションのシンボルのみがダンプされます。

LSB_5.0.0.symtab10.2.2.1節。 「ELFセクションタイプ」では、適切な共有ライブラリが両方または両方を持つ必要があります.dynsymが、両方を持つことはできません。 ABIライブラリの一部として、libcは.symtab仕様から削除されました。

答え3

共有オブジェクトであるか一般的なASCIIファイルであることを確認してください。共有オブジェクトの場合は、「ELF 32ビットLSB共有オブジェクト」を表示する必要があります。

file /lib/i386-linux-gnu/libc.so.6

関連情報