質問
私はelfdump
コマンドのクローンに取り組んでいます。
elfdump -ecps *file*
を実行しているときに私のプログラムが正常に動作します。私はライブラリファイルに私のプログラムを実行するときしかし、libc.so、それはの.symtabセクション(特に、彼らはすべてゼロである)内のすべてのシンボルの誤ったバージョン番号を出力しますと言います。私は時代の文書トン以上見てきたが、私はこれが起こっている理由を理解することはできません。
誰かがいくつかのヒントを提供していただけますか?または、おそらくどのようにそのライブラリまたはないので、私は可能性だけでハードコードするかどうかを0に?
を検出します解決
あなたは共有ライブラリと実行している場合は、e_typeフィールドがET_DYNあるかどうかをチェックすることによって決定することができ、私は信じています。 (男性のELF(5))
ウルリック・ドレパーによって記事ではカバーすることがありますELFでトリックをバージョン管理シンボルあたりのglibc。おそらく、あなたが前に遭遇していませんでしたが、追加情報があります。 Linuxのmanページには、ELFドキュメント内あたりのシンボルバージョン情報をカバーするためには表示されません。
所属していません StackOverflow